私は実行可能ファイルre.exeを持っています。バイナリ形式でその内容を読み込み、その内容をコンソールに表示します。次のコードを記述しますが、コンソールにバイナリファイルの内容は表示されません。どうしたの?バイナリモードでファイルを読み込み、Cで
#include <stdio.h>
#include <ctype.h>
void readFile(const char *fileName) {
FILE *file;
file = fopen(fileName, "rb");
if (file != NULL) {
char ch;
while ((ch = fgetc(file)) != EOF) {
if (isprint(ch)) {
printf("%x", ch);
}
else {
printf("%02x", ch);
if (ch == '\n') {
fputs("\n", stdout);
}
}
}
fclose(file);
}
}
int main() {
readFile("re.exe");
return 0x0;
}
プログラムを実行した後、コンソールには何が表示されますか? 'fopen'は失敗せず、' NULL'を返しますか? – s7amuser
あなたのプログラムはそれ自身を読み込もうとしていますか? – purplepsycho
@purplepsychoいいえ、それはre.exeを読むつもりです。 – user3646905