[英]C++ Segmentation Fault user input in an array
有人可以说我在想什么吗?
int main() {
char eingabe[100];
cin >> eingabe;
eingabe[strlen(eingabe)]='\0';
cout << eingabe << endl;
}
但我明白了:细分错误
:(
如果cin
包含超过99个字符的行,则cin >>
运算符将超出eingabe[]
缓冲区末尾写入。 这是错误的,很可能会产生段错误。
您可能要使用std::string
类,而不是char[]
缓冲区。
如果有充分的理由使用char [100]缓冲区,则需要cin.getline(eingabe,100)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.