有人可以说我在想什么吗?

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)是您所需要的。

关于c++ - 数组中的C++ Segmentation Fault用户输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24466426/

10-11 16:06