有人能说我错过了吗?
int main() {
char eingabe[100];
cin >> eingabe;
eingabe[strlen(eingabe)]='\0';
cout << eingabe << endl;
}
但我明白了:分段错误
:(
答案 0 :(得分:5)
如果cin
包含超过99个字符的行,则cin >>
运算符会在eingabe[]
缓冲区末尾写入。这是错误的,可能会产生段错误。
您可能希望使用std::string
类,而不是char[]
缓冲区。
如果你有充分的理由使用char [100]缓冲区,那么
cin.getline(eingabe,100)
就是您所需要的。