我正在尝试读取 C++ 中的一个文件,其中字符由条“|”分隔,最好的方法是什么?
谢谢
我假设字段由条分隔,但记录由换行符分隔。
首先,使用 阅读文本行std::getline
:
std::string line;
std::getline(std::cin, line);
然后,在边界处打破|
界限。
std::stringstream sline(line);
std::string field;
std::getline(sline, field, '|');
...
std::getline(sline, field, '|');
假设您有一个名为“file.dat”的文件
,它看起来像这样:
item1|item2|item3|item4|item5|item6
该程序将打印文件中的每个项目:
#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>
int main(){
std::ifstream infile("file.dat");
std::string item;
getline(infile,item,'|');
while (!infile.eof()){
std::cout << item << std::endl;
getline(infile,item,'|');
}
return EXIT_SUCCESS;
}