2016-07-14 220 views
-3

我在C++中使用char命令緩衝區溢出時遇到問題,因爲我是C++編碼的新手。這是我的代碼。我的問題在第七行。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"); 
} 

如何讓變量由無限量的字母組成?

+2

爲什麼不改變'字符字[90]''到的std :: string word' –

+0

'char'是不是「命令」。 –

回答

3

您應該使用std::stringstd::getline在這種情況下

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

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

+0

啊,這個解決方案爲我工作。 –

+0

爲什麼人們甚至使用字符?這看起來不安全。 –

+1

@AlexSummers:他們沒有。它是。 –