2

我正在做一个不允许我们使用字符串的任务,我们必须使用 char 数组。这是我的代码:

cout << "Enter Album name: ";
cin >> CDdata[count].title;     
fout << CDdata[count].title;

问题是当我输入带有空格的内容时,我的其余代码会搞砸。

如何获取它以便我可以输入带有空格的内容?

4

3 回答 3

5

使用cin.getline(CDdata[count].title, 1000). 第二个参数是你的 char 数组的长度,CData[count].title.

上面的函数要么读取 1000 个字符,要么直到找到一个分隔符,默认情况下是一个换行符 ( \n),但可以如下更改。

 cin.getline(CDdata[count].title, 1000, ',') //delimiter is changed to ','

如果您想要更正式的描述,请阅读此处

PS:我使用了第二个参数 1000 作为占位符。你应该相应地改变它。

于 2013-06-10T05:54:34.367 回答
1

随意cin.getline()用作'\n'终止字符而不是空格。

于 2013-06-10T05:54:30.353 回答
0

在此处输入图像描述

当 cin.getline() 转义某些东西时,它的 bc 是缓冲区中一些以前的数据,我们可以通过 cin.ignore() 清除它,它会在从缓冲区读取时转义第一个字符

于 2020-02-15T19:23:23.643 回答