从一行中读取字段的最简单方法
Easiest way to read in fields from a line
我正在从文件中读取行。每一行都遵循这种精确的格式,并带有一个|
分隔符:
4|Get Shorty (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Get%20Shorty%20(1995)|0|1|0|0|0|1|0|0|1|0|0|0|0|0|0|0|0|0|0
我使用ifstream
和getline
来获取文件中的每一行。在具有n个分隔符的单行上获取所有字段的最佳方式是什么?这可以用字符串流完成吗?我可以使用find
和substr
来装配一些东西,但它会很快变得很难看,而且我认为它无法考虑具有可变n个分隔符的行。
您可以用该行初始化std::istringstream
,然后用getline(isstream, field, '|')
读取字段。将调用放入循环中以读取字段,直到流失败:
std::istringstream isstream(line);
for (std::string s; getline(isstream, s, '|');)
// do stuff with s
相关文章:
- 在java中读取c++字节的位字段
- 从字符串流中读取具有特定字段宽度的 int
- 读取悖论时间戳字段
- 直接读取 pthread 互斥锁的所有者字段是否安全?
- 在结构中使用位字段并使用C++从内存中读取实例
- 如何从提升属性树中读取字段类型
- 如何从 GStreamer 管道读取数据中的特定字段
- 通过 void* 和 reinterpret_cast从字节字段读取
- C++读取元数据文件,并处理由空白和:混合分隔的字段
- 使用指向成员的指针读取 cons 对象的字段的值
- 浏览字符串并将部分行读取到类字段中
- 从 C++ 中的位数组/位图中读取字段
- 动态字符字段一次读取一个字符
- 如何从数据库中读取CLongBinary字段并将其写入CFile对象
- 读取Windows套接字上的SIO_KEEPALIVE_VALS字段(用于保持空闲和间隔时间)
- 难以读取的armadillo字段数据结构
- C++按字段读取结构,并将结构直接写入流
- 隐藏复合数据类型的某些字段,使其不被写入(或从hdf5文件中读取)
- 在c++文本文件中读取多个字段
- 如何通过字段读取和验证istringstream