【发布时间】:2014-09-15 20:29:41
【问题描述】:
我正在为我的编程课程开发一个项目,该项目需要我使用字符串。该程序首先要求用户输入一个短语。通常我会声明如下内容:
string phrase;
然后我会使用:
getline(cin,phrase);
然而,教授告诉全班我们不允许使用字符串类,我们必须只使用基于 c 的字符串。我可能是错的,但我相信基于 c 的字符串看起来像这样:
char phrase[12] = "hello world";
如果这就是我的教授所说的基于 c 的字符串的意思,那么我不知道如何在其中输入短语。当我尝试这样做时,程序只存储短语的第一个单词并在它看到的第一个空格处停止。例如:
char phrase[12];
cin >> phrase;
//input: hello world
cout << phrase;
//output: hello
任何建议都会有所帮助,我们将不胜感激,谢谢。
【问题讨论】:
-
你的意思是
cin >> phrase;和cout << phrase;吗? -
提取是用空格分隔的。
-
@PaulMcKenzie 我想说这取决于课程中的何时。在一定程度上,C++ 开发人员应该能够使用 C 风格的字符串。
-
@Angew 是的,我只是在编程 2。教授对字符串类并不皱眉,他只是希望我们也能够这样做。
-
与其使用
char phrase[12] = "hello world";,不如使用char phrase[] = "hello world";,让编译器调整数组大小。