「C言語/ファイル入出力」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
s/機械語/バイナリーファイル/3
タグ: 2017年版ソースエディター
編集の要約なし
1,083 行
 
== バイナリーファイルの読み書き ==
=== バイナリーファイルとしての書き込み ===
C言語のプログラムで、バイナリーファイルの読み書きをしたい場合、
 
1,126 ⟶ 1,127行目:
42 4D 03 04 05
と書き込まれていることが確認できれば成功である。
 
 
=== 読み取り ===
バイナリファイルの読み取りには fread を使うことがある。
 
いきなりバイナリファイルを読み取るのは初心者には難しいので、まずテキストファイルを読み取る実験をしてみよう。
 
以前に作った test1.txt ファイルを読み取るとしよう。
 
test1.txt
<pre>
aaaaaaaaaaa
ssssssss
 
dddddd
</pre>
 
コード例
<syntaxhighlight lang="C">
#include <stdio.h>
 
#pragma warning(disable:4996)
 
int main()
{
FILE *fp1 = fopen("test.txt", "r");
if (fp1 == NULL) {
perror("ファイルを開けませんでした。\n");
return 1;
}
else {
printf("ファイルをオープンしました。\n");
}
 
 
char str1[150];
printf("文字列を読み取っています。\n");
fread(str1, sizeof(unsigned char), sizeof(str1) / sizeof(str1[0]), fp1);
printf("ファイルに書いてある文字列\n");
printf("%s\n", str1);
 
fclose(fp1);
printf("ファイルをクローズしました。\n");
}
</syntaxhighlight>
 
 
;実行結果
<pre>
ファイルをオープンしました。
文字列を読み取っています。
ファイルに書いてある文字列
aaaaaaaaaaa
ssssssss
 
dddddd
ファイルをクローズしました。
</pre>
 
 
 
== 脚註 ==