我正在为我的编程类(class)开展一个项目,该项目要求我使用字符串。该程序首先要求用户输入一个短语。通常我会声明如下内容:
string phrase;
然后我会使用:
getline(cin,phrase);
但是,教授告诉类(class),我们不允许使用字符串类,我们必须只使用基于c 的字符串。我可能是错的,但我相信基于 C 的字符串看起来像这样:
char phrase[12] = "hello world";
如果这就是我的教授所说的基于 C 的字符串的意思,那么我不知道如何向其中输入短语。当我尝试这样做时,程序只存储短语的第一个单词并在它看到的第一个空格处停止。例如:
char phrase[12];
cin >> phrase;
//input: hello world
cout << phrase;
//output: hello
任何建议都会有所帮助,我们将不胜感激,谢谢。
最佳答案
您需要使用 cin.getline(var_id, var_length)
而不是 cin >> var_id
,当它遇到 空格
或 新行
。
如果您想了解更多关于 cin.getline
以及它的使用可能导致的问题,您可以查看这篇文章:Program skips cin.getline()
关于c++ - 将输入读入 C 风格的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25856385/