C ++溢出缓冲区

时间:2016-07-14 22:55:17

标签: c++ visual-studio

我在使用C ++中的char命令时遇到缓冲区溢出问题,因为我是C ++编码的新手。这是我的代码。我的问题是在第七行。

#include "stdafx.h"
#include <iostream>
#include <cstdlib>
int main()
{
    char word[90];
    std::cout << "Type in your name to find out your gangster name!" << std::endl;
    std::cin >> word;
    std::cout << "Your gangster name is..." << std::endl;
    std::cout << "Da" << word << std::endl;
    system("pause");
}

如何允许变量包含无限量的字母?

1 个答案:

答案 0 :(得分:3)

在这种情况下,您应该使用std::stringstd::getline

std::string word;
std::getline(std::cin, word);

http://www.cplusplus.com/reference/string/string/getline/