首页 > 解决方案 > 按空格分割字符串并将列输出到不同的数组中

问题描述

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

我尝试使用以空格为分隔符的 getLine 方法,但我只能将它们放在同一个数组中。我可以用 fileOpen.eof 方法做到这一点,但这会导致我的程序出现太多问题

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

    index++;     
    lettersArray[index] = letters;
}

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

标签: c++stringsplitwhitespacedelimiter

解决方案


我认为您以错误的方式使用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 函数会删除当前行的剩余部分。


推荐阅读