我需要使用 C++ 读取带有空格的文本,后跟一个数值。
例如,数据看起来像:
text1
1.0
text two
2.1
text2 again
3.1
无法用 2 个 "infile >>"
语句读入。我对 getline
不满意
任何一个。我最终想用这两个数据元素填充一个 struct
。有什么想法吗?
最佳答案
标准 IO 库不会单独为您执行此操作,您需要对数据进行某种简单的解析以确定文本结束位置和数值开始位置。如果您可以做一些简化的假设(比如说每行只有一对文本/数字,并且错误恢复最少),那么将 getline() 整个内容变成一个字符串然后手动扫描它就不会太糟糕。否则,您最好使用正则表达式或解析库来处理这个问题,而不是重新发明轮子。
关于c++ - 将混合数据文件读入 C++ 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302742/