c++ - 按空格分割字符串并将列输出到不同的数组中
问题描述
所以我有这个文本文件,它基本上有 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 函数会删除当前行的剩余部分。
推荐阅读
- python - 在 django 中使用 PasswordResetView 时出现反向 URL 错误
- visual-studio - 如何在 Visual Studio 的同一解决方案下找到哪个 NuGet 包安装在哪个类库项目上?
- spring-integration - 抽象 Spring Cloud Stream 生产者和消费者代码
- javascript - 按钮应在结束后 30 秒出现
- reactjs - 反应在错误的地方更新状态值
- angular - 如果我们单击具有必填字段的单选按钮并单击另一个单选按钮并在该字段中填充值,如何使表单有效
- node.js - 奇怪的 Promise.all 行为
- zfs - Linux (ZoL) 上的 ZFS 是否有等效于“fstrim -av”的功能
- google-cast - 如何将自定义样式应用于自定义谷歌 CAF 接收器
- go - 表现得像使用 io/ioutil 的“cat”linux 命令