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

削除された内容 追加された内容
編集の要約なし
→‎バイナリーファイルの読み書き: 機械語を読み取るコード例
1,190 行
 
 
 
では、機械語を読み取ろう。
 
コード例
<syntaxhighlight lang="C">
#include <stdio.h>
 
#pragma warning(disable:4996)
 
int main()
{
FILE *fp1 = fopen("test1.txt", "rb");
if (fp1 == NULL) {
perror("ファイルを開けませんでした。\n");
return 1;
}
else {
printf("ファイルをオープンしました。\n");
}
 
char str1[70]; // 表示結果を短くするために数値を微妙に小さくした
printf("機械語を読み取っています。\n"); // 「文字列」ではなく機械語
fread(str1, sizeof(char), 50, fp1);
printf("ファイルに書いてある機械語\n");
for (int i=0 ; i < sizeof(str1) / sizeof(str1[0]); i = i+1)
{
printf("%02x ", str1[i]); // 最低でも2桁を表示、の意味
}
fclose(fp1);
printf("\nファイルをクローズしました。\n");
 
}
</syntaxhighlight>
 
 
;実行結果
<pre>
ファイルをオープンしました。
機械語を読み取っています。
ファイルに書いてある機械語
61 61 61 61 61 61 61 61 61 61 61 0d 0a 73 73 73 73 73 73 73 73 0d 0a 0d 0a 64 64 64 64 64 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ファイルをクローズしました。
</pre>
 
:※ ファイル作成時・保存時の文字コードの種類によっては改行文字 0d 0a などの制御文字の内容が若干違うかもしれません。
 
== 脚註 ==