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

Splitting of string by spaces and outputting the columns into different arrays

本文关键字:数组 输出 拆分 空格 字符 字符串 串并      更新时间:2023-10-16

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

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

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

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

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