在c ++中立即设置failbit(在读取任何字节之前)

时间:2017-03-25 00:29:39

标签: c++ csv ifstream

我正在尝试使用ios包读取csv文件,但没有读取任何内容。我检查了文件流中的failbit,由于某种原因,它在我实际读取任何内容之前立即设置。这是我的代码:

.replace("[],", "[\n\n\t],")

txs_sample3.csv:

#include <fstream>
#include <iostream> 
using namespace std;
int main(int argc, char* argv[]){
    ifstream infile("~/txs_sample3.csv");
        cout<<"badbit: "<<infile.bad()<<
        ", failbit: "<<infile.fail()<<
        ", eof: "<<infile.eof()<<
        ", good: "<<infile.good()<<endl;
}

对这里发生的事情有任何帮助吗?

-Paul

1 个答案:

答案 0 :(得分:5)

ifstreamfopenopen函数一样,不会插入~字符。您需要使用不同的路径名或自己添加getenv("HOME")