用空格分割字符串并将列输出到不同的数组中

时间:2019-06-03 01:55:57

标签: c++ string split whitespace delimiter

所以我有这个文本文件,基本上有2列字母和数字,中间用空格隔开。我想将这2列拆分并放置在单独的数组中。

我尝试使用以空间作为分隔符的getLine方法,但是我只能将它们放置在同一数组中。我可以使用fileOpen.eof方法来执行此操作,但这会导致程序中出现太多问题

print (gui.delete.get())
print (gui.var1.get())
...

我希望lettersArray [index]的输出仅是字母列。

1 个答案:

答案 0 :(得分:0)

我认为您以错误的方式使用了 getline 函数。在这里看看它是如何工作的:http://www.cplusplus.com/reference/string/string/getline/

您基本上是在告诉getline函数使用空格字符作为定界符。因此,它将在while循环的奇数编号迭代中处理文件中的字母,并在while循环的偶数编号迭代中处理文件中的字母。

如果您要坚持使用 getline 函数,可以进行以下修改以使其起作用。

while(getline(openFile, letters, ' ')){

    index++;     
    lettersArray[index] = letters;
    getline(openFile, letters);
}

在while循环的最后一行对getline函数的调用摆脱了当前行的其余部分。