我正在尝试使用以下代码将一些名字输入到双字符数组中:
int main(void)
char firstName[4][10];
Int num = 2;
for (int i=0; i<num; i++)
for (int j=0; j<10; j++)
cin >> firstName[i] [j] ;
if(firstName[i] [j] == '.')
break;
Return(0);
基本上,我正在寻找一种简单,更好的方法,将名称输入到double char数组中,而不必使用句点结束输入。如果我尝试使用char分隔符。 '/ 0'它仍然会在继续之前尝试填充字符数组的第一个完整行。
答案 0 :(得分:1)
在编码方面,因为这是C ++,所以不要在二维char数组中存储字符串列表。请尝试使用std::vector<std::string>
。并且不要一次读取一个字符的文件;阅读更大的字符块。
如果您可以保证名字中不会嵌入空格,您可以编写cin >> s;
之类的内容,其中s
的类型为std::string
,以便在一个名称中读取整个名称操作
如果名称中可能包含空格,请尝试将文件的整行读入std::string
,然后从中提取所需的数据。如果这太复杂了,也许您需要重新考虑输入文件的格式。 (可能下次包含输入文件的样本,以便我们可以看到您认为您想要阅读的内容。)