在 C++ 中立即设置故障位(在读取任何字节之前)
failbit set immediately (before reading any bytes) in c++
我正在尝试使用 ios 包读取 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;
}
txs_sample3.csv:
block-number,gas,gas-price,gas-used,value,from,hash,timestamp,to
2100001,132650,20000000000,32650,1023220.89,0x8224ec27ed526e48cbaba8cb603b1d092e210ebb,0xc3deb238df92f77a41508bb1f731b17c03603f9f5ee802f043a0e35bff6160e7,1471600276,0xe94b04a0fed112f3664e45adb2b8915693dd5ff3
2100001,250000,20000000000,21000,1048570.97,0x9e6316f44baeeee5d41a1070516cc5fa47baf227,0xce7f6bfef33e1982a727b78118faaa55a7f0d9f87240b4a717ea08a8d6b5818b,1471600276,0x29158e02823fdd9cbc66dd3d4a9c51b9df88f823
2100001,90000,20000000000,21000,1010199.4901117386,0xea674fdde714fd979de3edf0f56aa9716b898ec8,0xec2493c5da6a8e562bdffba2c0a7dc7ed1ed261100f013b69a6a764032586c75,1471600276,0xc976d91972173ec9698a9e190f8cd8541e18d2be
2100001,21000,20000000000,21000,1489845.61,0xa8e8311be097afc3537dd084cdd507d6436d72b7,0xb2c139c4038c7c677ff45a197e8724f517ef2bb04eaf0ee7003182663f2ce65f,1471600276,0x91337a300e0361bddb2e377dd4e88ccb7796663d
对这里发生的事情有任何帮助吗?
-保罗
ifstream
与 fopen
和 open
函数一样,不插值~
字符。 您需要使用不同的路径名或自己getenv("HOME")
前面。
相关文章:
- C++用于从流中读取二进制值的任何标准库
- 当我在将文件读取到C字符串的2D数组后尝试对任何内容进行定制时,C++分段错误
- 将文本文件读取到2D数组中,但数组开始为超过数组[39][]的任何内容输出胡言乱语
- 为什么ifstream没有读取任何内容
- C++ - 将任何文件的字节读取到无符号字符数组中
- C++使用用户名/SID 或备用读取任何窗口用户 HKEY
- 内核模式驱动程序可以在任何进程上执行读取进程内存吗?
- C 读单词读取文件,而没有任何符号
- 我可以在没有任何锁的情况下从不同的线程读取内存缓冲区吗?
- std::memcmp 可以读取超过第一个差异的任何字节吗?
- 如何在Qt中为任何QLabel设置可访问的名称,我们可以使用Windows讲述人读取
- 无法使用 QSerialPort 读取任何内容
- 是否有任何方法可以在用户输入文本时读取字符
- 读取任何与PC兼容的赛车方向盘输入
- 读取C 中的二进制文件的任何文件
- 套接字记录未读取任何消息
- 在 C++ 中立即设置故障位(在读取任何字节之前)
- 如何仅当字符串流包含任何换行符时才从字符串流中读取行
- 读取 C++ 中的文本文件不显示任何输出
- 似乎没有任何读取文件的方法可以工作,所有方法都不返回任何东西-C++