C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
Q&A
解決済
2回答
1232閲覧
総合スコア12
0グッド
0クリップ
投稿2021/07/13 05:55
0
fread関数について分からないことがあるので質問させていただきます。 例えば int buffer[4]; fread(buffer,3,4,読み取るバイナリファイル); という文があった場合、buffer[0]には3バイト格納され、同様にbuffer[1],buffer[2]にそれぞれ3バイトずつ格納されていくという解釈で正しいでしょうか。
初歩的な質問ですがご教授お願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
freadの2番目の引数はsizeはデータの長さ、3番目の引数nはデータの個数、ということになってはいますけど、現実的にはbufferアドレス以降にsize * nバイトを読み込むという実装になっています。
fread
size
n
buffer
size * n
なので
int buffer[4]; fread(buffer,3,4,読み取るバイナリファイル);
だとbuffer[0]からbuffer[2]までの12バイトの領域に読み込まれることになりますね。
buffer[0]
buffer[2]
投稿2021/07/13 06:04
総合スコア8407
回答へのコメント
2021/07/13 06:08
ベストアンサー
ちがいます。 単純に、ファイルから12バイト読み出され、bufferのアドレスから順に格納されます int型のサイズが4バイトであるなら、buffer[0]からbuffer[2]にデータが入ります
投稿2021/07/13 05:58
総合スコア88186
2021/07/13 06:06
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
バイナリファイルを読み込む際のfread関数について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/13 06:08