C を使用してバイナリ ファイルを読み書きするときはいつでも、 fread()
andfwrite()
関数を使用します。パラメータとして、読み取りまたは書き込み中のデータのバイトが必要なので、sizeof()
関数を使用します。問題は次のとおりです。
本には、次のような関数を宣言する必要があると書かれています。
fread(&variable,sizeof(TYPE_OF_VAR),quantity,file);
私は次のステートメントを使用しましたが、ほとんどの場合は機能しますが、常に機能するとは限りません。
fread(&variable,sizeof(VARIABLE),quantity,file);
うまくいくときとうまくいかないときがあるのはなぜですか?変数の型(int、charなど)
に依存しますか?使用するデータムの量
によって異なりますか?