c++ - 将混合数据文件读入 C++ 字符串

标签 c++ stl

我需要使用 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/

相关文章:

c++ - 如果保存数据,libz 压缩失败

c++ - 其他进程在 MPI_Sendrecv 之后挂起

c++ - STL resize()的优点

c++ - 将指向项目的指针存储在 std::set 中是否安全?

c++ - 从 STL 优先队列中搜索/删除?

c++ - C++ 中奇怪的 std::stringstream 行为

c++ - 非常大的A分界线在非常大的B处

c++ - 斐波那契堆的 STL?

c++ - 将集合插入/读取到 map 中

c++ - 如何初始化静态 std::map?