gpt4 book ai didi

c++ - is_open 返回 true,但 getline 只返回空字符串

转载 作者:行者123 更新时间:2023-11-28 04:15:21 27 4
gpt4 key购买 nike

我正在尝试从 C++ 中的 .csv 文件中读取。调用 myfile.open(file) 后,is_open 返回 true,但 getline 仅返回空字符串。

我曾尝试使用 vector 来读取行,然后将 vector 数据写入变量以进行读取,但这也只返回了空字符串。

std::ifstream csvFile;
std::string line = "!", temp= "...";

csvFile.open("file.csv");
if(csvFile.is_open()) {
std::cout << "open\n";
std::cout << line << "\n";
if(getline(csvFile, line)) {
std:: cout << line << "\n";
} else {
std::cout << temp << "\n";
}
}
else {
std:: cout << "not opening\n";
}
std:: cout << line;

我的运行后输出如下

[ctest] open
[ctest] !
[ctest] ...
[ctest]

如图所示,getline() 只返回一个空字符串,尽管文件本身不是空的。

这些是 csv 文件的前 20 行左右,我已确保该文件位于当前工作目录中。

Alpha002

2019 年 6 月 13 日 16:55:54

428,1.61,-1.31,-0.13,0,0

448,1.61,-1.47,-0.13,0,0

468,1.68,-1.07,-0.44,0,0

488,1.61,-1.39,-0.76,0,0

508,1.61,-1.47,-0.68,0,0

3528,1.61,-1.55,-0.36,0,0

3548,1.61,-1.31,-0.28,0,0

3568,1.68,-1.15,-0.36,0,0

3588,1.68,-1.63,-0.76,0,0

3608,1.68,-0.76,-0.68,0,0

3628,1.68,-1.15,-0.21,0,0

3648,1.68,-0.76,-0.28,0,0

3668,1.68,-1.39,-0.13,0,0

3688,1.68,-1.07,-0.21,0,0

3708,1.61,-1.47,0.03,0,0

我不确定如何从这里开始,因为除此之外我找不到任何问题,欢迎任何建议!

最佳答案

我发现了问题,我使用的文件本身有问题。我尝试使用相同的方法从另一个文件读取,并且没有问题。感谢所有评论试图提供帮助的人!

关于c++ - is_open 返回 true,但 getline 只返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56771601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com