どこに間違っていたかを確認するのに役立つ人はいますか?または理由を説明しますか?私は初心者であり、バイナリファイルを開くために最善を尽くしました。しかし、それは単に "ファイルが開いている" "0"が不足しています。何も出てこなかった。特定のbinファイルでC++でバイナリファイルを開いて読み込む方法は?
目的: Count3sプログラムは、32ビットの整数(int)を含むバイナリファイルを開きます。あなたのプログラムはこの数値ファイルの値3の出現回数を数えます。あなたの目的は、ファイルを開いたりアクセスしたり、制御構造に関する知識を習得することです。プログラムが使用するデータを含むファイルの名前は "threesData.bin"です。
私のコードは以下のように分かります。前もって感謝します!
ファイルから読み込む必要がありますまず第一にbuffer
が
int data;
として定義され、
myfile.read (&data,sizeof(int));
として使用する必要があります
myfile.read (buffer,length);
とバイナリモードで開か
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int count=0 ;
ifstream myfile;
myfile.open("threesData.bin", ios::in | ios :: binary | ios::ate);
if (myfile)
{
cout << "file is open " << endl;
cout << count << endl; }
else
cout << "cannot open it" << endl;
return 0;
}
ファイルを開くためのコードしかありません。データを読み取るコード行はありません。 –
[この 'openmode'リファレンス](http://en.cppreference.com/w/cpp/io/ios_base/openmode)は、' ate'が "開かれた直後にストリームの最後を探す"と言っています。 –