![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
バイナリデータの中に「EOF」が入っている場合それを「EOF]と認識してしまうと、その後のデータを読めね九なってしまいます。
そこで、データの容量をチェックして総てのファイルを処理するようにしているのです。
ありがとうございました。
char c = fgetc(...);
if(c == EOF){....
のように、
して不安定なエラーが出て、
ぎもんがしょうじたのです。
もちろん
int c = fgetc(...);
if(c == EOF){....
と修正したら
エラーは出なくなったのですが、
EOFとは何だろう?
と思ったのです。
みなさまもおかげですっきりいたしました。
ありがとうございました。
No.6
- 回答日時:
EOF=0x1aというのはDOSのテキストファイルの話です。
一般にCのライブラリ関数でEOFが返ってくるのは、単純に『読み込むデータがなくなった』ときです。
いわゆるバイナリファイルも当然大きさは有限ですから、順繰りに読んでいけばいつかはファイルの終端に達し、読むべきデータがなくなります。そうすると、読み込み関数はEOF(もしくはNULL)を返すのです。
逆に、途中のデータを読んでいて、その先にまだデータが残っている限り、EOFとは認識されないわけです。
ちなみに、C言語の世界でEOFの実体は -1 です。もちろん実際のファイルに-1というデータが入っているわけではありません。
ありがとうございました。
char c = fgetc(...);
if(c == EOF){....
のように、
して不安定なエラーが出て、
ぎもんがしょうじたのです。
もちろん
int c = fgetc(...);
if(c == EOF){....
と修正したら
エラーは出なくなったのですが、
EOFとは何だろう?
と思ったのです。
みなさまもおかげですっきりいたしました。
ありがとうございました。
No.5
- 回答日時:
Windowsの場合、ファイルをテキストモードでオープンした場合、ファイル中の"0x1a"をEOFと扱います。
したがって、ファイルをオープンしたときのモードによってEOFの扱いが違ってきます。
なお、UNIXにはテキストモードはありません。
ありがとうございました。
char c = fgetc(...);
if(c == EOF){....
のように、
して不安定なエラーが出て、
ぎもんがしょうじたのです。
もちろん
int c = fgetc(...);
if(c == EOF){....
と修正したら
エラーは出なくなったのですが、
EOFとは何だろう?
と思ったのです。
みなさまもおかげですっきりいたしました。
ありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?5a7ff87)
No.4
- 回答日時:
そもそもEOFとはデータではないのでは?
バイナリファイルと言っても1byteのデータは0~255の値なので、fgetc関数などを用いたときEOFと区別がつけられるのではないでしょうか?
No.3
- 回答日時:
ちなみに、最近はテキストファイルでもEOFが書き込まれてないことが多いです。
ファイルのサイズ情報を見れば、どこでファイルが終了するのか一目瞭然ですから、わざわざ入れる必要がないというわけです。
ありがとうございました。
char c = fgetc(...);
if(c == EOF){....
のように、
して不安定なエラーが出て、
ぎもんがしょうじたのです。
もちろん
int c = fgetc(...);
if(c == EOF){....
と修正したら
エラーは出なくなったのですが、
EOFとは何だろう?
と思ったのです。
みなさまもおかげですっきりいたしました。
ありがとうございました。
No.2
- 回答日時:
バイナリモードでファイルを読んでいる場合、EOFの検出はファイル内のデータとは関係ありません。
読み込みで、ファイルの最後に到達し、それ以上読み込むデータが無くなったときにEOFとなります。
ありがとうございました。
char c = fgetc(...);
if(c == EOF){....
のように、
して不安定なエラーが出て、
ぎもんがしょうじたのです。
もちろん
int c = fgetc(...);
if(c == EOF){....
と修正したら
エラーは出なくなったのですが、
EOFとは何だろう?
と思ったのです。
みなさまもおかげですっきりいたしました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- ノートパソコン Windowsが起動しない状態からデータを回収したい 初質問失礼します。 先日、Windowsのデー 5 2023/06/18 17:50
- デスクトップパソコン ドラレコの映像をDVD-RWにコピーしたいのでケーズデンキでマクセルのデータ用DVD-RWを買ってき 9 2023/06/08 05:55
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- ドライブ・ストレージ 外付けCDドライブだけ音楽CDが読み込まない 3 2023/08/18 21:28
- その他(クラウドサービス・オンラインストレージ) 個人情報保護の件 1 2023/05/18 12:19
- USBメモリー・SDカード・フラッシュメモリー SDカードの中に入ってる小さいカード(マイクロSDカードっていうんですか?)はこの商品に入りますか? 8 2023/06/01 20:30
- USBメモリー・SDカード・フラッシュメモリー microSDカードに追記出来ない 9 2023/06/18 17:19
- ドライブ・ストレージ ハードディスクのデータ回復について 15 2022/08/22 14:55
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
続・EOF判定されない
C言語・C++・C#
-
csvファイルの最後にeof(0x1a)を付けたいのですが
Windows Vista・XP
-
EXCELのVBAでEOFを誤認識
Visual Basic(VBA)
-
-
4
freadでデータがない場合の読込値は?
C言語・C++・C#
-
5
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
6
C言語で構造体のメンバを簡単に出力する方法ありますか?
C言語・C++・C#
-
7
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
8
char型にint型の数値を代入する。
C言語・C++・C#
-
9
nullと"、\\0とEOFの違いについて。
C言語・C++・C#
-
10
fopne で失敗する原因
C言語・C++・C#
-
11
C言語のポインターに関する警告
C言語・C++・C#
-
12
C言語 配列の長さの上限
C言語・C++・C#
-
13
VBA バイナリ―から文字列にする方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バイナリエディタのつかいかた
-
PHPのfgetcsvの処理容量について
-
この方法でバイナリデータが読...
-
エンディアンと2の補数表現
-
Comboboxについて
-
VBAを使って、一部バイナリデー...
-
テキストファイルのデータから...
-
ファイル読み込みエラーになる。
-
マイクラでPythonのプログラミ...
-
C言語初心者の質問失礼します。
-
windows.hがincludeされない
-
二次元配列をクリップボードに...
-
実行時のエラー。動作環境の確保
-
[C#]このコードはもっと速くな...
-
C言語のプログラムが異常終了し...
-
Acccess レポートをグループ別...
-
C言語でBMP画像(ファイル)は...
-
winsock recvでの文字化け
-
MATLABのCSV形式での書き込みに...
-
シェルスクリプトで「HTMLのテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッファとは何ですか
-
Microsoft VBAで2GBを超えるフ...
-
EXCEL VBAでテキストファイルの...
-
VBA バイナリ―から文字列にす...
-
バイナリエディタのつかいかた
-
EOF
-
エクセルVBA 2千万行のCSVファ...
-
ページ読み込み時に自動的にsub...
-
エラー:ストリームの終わりを...
-
画像の保存方法。
-
【python】Excelファイルを読み...
-
MacからWinにファイルを添付す...
-
EXCEL VBAで、バイナリデータの...
-
入力ファイルをバイナリにする利点
-
PHPのfgetcsvの処理容量について
-
HDDのバイナリイメージの取得方...
-
VBAを使って、一部バイナリデー...
-
FTPでエクセルをPUTするとファ...
-
リストビュー ⇔ 別ファイル構...
-
VBScriptでメタデータを取得したい
おすすめ情報