UNIXでバイナリファイルからの読み取りを試みています。ファイルが存在し、そこにいくつかのデータ情報があります。私は、ファイル内の位置はまだゼロゼロですが、ファイルが空でないことを得る読み取り後fstream unixでの読み取りでの問題
fstrean fstrHandler;
string strFileName;
char Buf[30000];
fstrHandler.open(strFileName.c_str(), ios::in | ios::binary);
fstrHandler.seekp(0, std::ios_base::beg);
std::cout<< "Posi before read= "<< fstrHandler.tellg()<<endl; //*** Show after running 0
fstrHandler.read (Buf, 400);
std::cout<< "Posi after read= "<< fstrHandler.tellg()<<endl; //*** Show after running 0
std::cout<< " gcount()= "<< fstrHandler.gcount()<< << endl; //*** Show after running 0
if (fstrHandler.eof()) {
fstrHandler.clear();
}
:
のコードは次のようになります。
s/fstrean/fstream /。それ以外に、 'fstat :: open'が本当に成功したかどうかを確認する必要があります。例えば' assert(fstrHandler.good()) 'です。 – jweyrich
私はそれを追加しませんでしたが、それは存在します –
そして以下のコメントの後に、良い()の代わりにアサート(fstrHandler)。 –