C++双字符数组除法器

C++ double char array deliminator

本文关键字:除法器 数组 字符 C++      更新时间:2023-10-16

我正试图用以下代码将几个名字输入到一个双字符数组中:

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);

基本上,我正在寻找一种简单、更好的方法,将名称输入到双字符数组中,而不必以句点结束输入。如果我尝试使用字符分隔符/在继续之前,它仍然会尝试填充字符数组的第一整行。

在编码方面,由于这是C++,所以不要将字符串列表存储在二维char数组中。请改用std::vector<std::string>。不要一次只读一个字符;读取较大的字符块。

如果您可以保证名字中永远不会嵌入空格,那么您可以编写类似cin >> s;的内容,其中s的类型为std::string,以便在一次操作中读取整个名称。

如果名称中可能有空格,请尝试将文件的整行读取到std::string中,并从中提取所需的数据。如果这太复杂,也许您需要重新考虑输入文件的格式。(下次可能会包含一个输入文件的示例,这样我们就可以看到您认为要读取的内容。)