• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:freadでダンプ なぜ?)

freadでダンプなぜ?

このQ&Aのポイント
  • ファイルを1バイトづつfreadで読み込んでダンプしているのですが、なぜか16進数で"1A"(10進数で"26")の文字から先をダンプできません。
  • 原因が良くわかりません。どなたか、わかる方お助けください。
  • char buf[20]; unsigned short a; flag = 1; while (flag == 1){ fread(buf, sizeof(char), 1, fp_in); a = buf[0]; printf("%02x ",a); cnt++; if(cnt == 16){ printf("\n"); cnt = 0; } : : }

質問者が選んだベストアンサー

  • ベストアンサー
noname#7734
noname#7734
回答No.1

0x1Aというのは、EOFを表す文字です。 テキストモードでファイルをオープンしていると EOFで読み終わってしまいます。 fopen("hoge.txt", "rb"); のようにバイナリモードでオープンすれば 読めるようになります。 補足: VisualC++だと思うのですが、 ファイルオープン時に"t"も"b"も設定しなかったときに どちらでオープンされるかは、 グローバル変数の int _fmode で決定されます。

peroncho
質問者

お礼

解決いたしました。 明快な回答ありがとうございました。

すると、全ての回答が全文表示されます。
このQ&Aのポイント
  • タブレットで全角入力が自動的になることに悩むユーザーからの質問。
  • Android 11を搭載したPC-T1295DASについて、半角英数字入力を維持する方法を探している。
  • 新規購入のタブレットで困っており、設定の調整方法を教えてほしい。
回答を見る

専門家に質問してみよう