获取线函数不会解析 CSV 文件中的行尾
Getline function is not parsing end of line in CSV file
我只是想读取一个 CSV 文件并将其打印在终端上,但我认为getLine()
函数没有解析行尾字符。我认为这是因为我正在阅读的文件是在Windows上创建的,并且我在Linux上运行该脚本。为了验证这一理论,我在Linux上创建了一个新的CSV文件,但它遇到了同样的问题。
CSV 文件:
julio,tito,monroy felipe,aguilar,jowell
readCsv.open("test.csv", ios::in);
if(readCsv.is_open()){
string time;
string in;
string out;
int count = 1;
while(!readCsv.eof()){
getline(readCsv, time, ',');
getline(readCsv, in, ',');
getline(readCsv, out, ',');
printf("%d : %s %s %s", count, time.c_str(), in.c_str(), out.c_str());
count++;
}
} else {
printf("There was an error when trying to open the csv file. n");
}
我做错了什么?
像这样
while (getline(readCsv, time, ',') &&
getline(readCsv, in, ',') &&
getline(readCsv, out))
{
您的版本有两点问题。首先,您的第三列以行尾结尾,而不是逗号,因此getline(readCsv, out, ',')
是错误的。其次,您对eof
工作原理的理解不正确,请参阅此处
相关文章:
- 正在将csv文件读取为双精度矢量
- 如何选择在 csv 文件中输出的位置
- 有没有办法在不使用 getline() 的情况下从.csv文件中读取?
- 无法读取C++中的 CSV 文件
- 流:CSV 文件中的换行符
- 是否可以使用 Python csv 阅读器读取使用 C++ std::setw 生成的文件?
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何正确格式化csv文件?
- 正在分析CSV文件-C++
- 如何获取组件和搜索 CSV 文件
- C++ 中的 CSV 文件管理(特别是设置标头和每个标头将分别具有的值)
- 无法逐行读取.csv文件
- 非常快速地阅读 CSV 文件
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- CSV文件之间的差异,使用getline()产生不同的结果
- 将 CSV 文件中的双倍值C++到矢量中
- C++ 将 CSV 文件的列写入向量
- 使用getline读取.csv文件时出现问题
- CSV文件未从缓冲区获取数据
- 错误的值是使用c++从CSV文件数据写入数组