問題タブ [eof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
3959 参照

c++ - C++でのEOFの無限ループ

このコードは、ほとんどの場合、ユーザーに1文字の入力を求め、関連するアクションを実行し、ユーザーにReturnキーを押して、繰り返すように求めるという、希望どおりに機能します。ただし、プロンプトで^ D(EOF)と入力すると、無限ループが発生します。std :: cin.clear()を介してエラー状態をクリアし、std :: cin.ignore(...)を呼び出してバッファーをクリアしています。何が無限ループを引き起こしている可能性がありますか?

重要な場合は、これをMacOSXターミナルで実行しています。


更新:ここで私が本当に求めているのは、ユーザーがプロンプトでEOF(^ D)を入力したときに、(a)それを検出し、(b)ユーザーがデータを入力し続けることができるようにストリームをリセットする方法です。

次の例は上記のコードとは異なりますが、^ Dが検出された後にストリームをクリアし、そのストリームからの読み取りを続行するという同じ原則を示しています。

0 投票する
7 に答える
25785 参照

c - CでのEOFを使用したProbIem

改行やその他のさまざまな文字を含むことができる2つの文字列を読み取ることになっているプログラムを書いています。したがって、EOF(Ctrl-ZまたはCtrl-D)を使用して文字列を終了しています。

これは最初の変数では問題なく機能しますが、2番目の変数では、明らかに何かが入力バッファーにスタックしていて、ユーザーが何も入力できないため、これは問題があるようです。

while (getchar() != '\n');いくつかの同様のバリエーションでバッファをクリーンアップしようとしましたが、何も役に立たないようです。すべてのクリーニングの試行は無限ループになり、クリーニングなしでは、2番目の変数を追加することは不可能です。

両方の変数の文字は、次のようなループで読み取られます。while((c = getchar()) != EOF)これは、バッファーに残っているのがEOFであることを示しています。それとも、他の方法でプログラムの動作に影響を与えますか?私が使用しているロジックに何か問題がありますか?

これに何時間も苦労した後、私は少し必死になり始めています。

コード:

0 投票する
6 に答える
2195 参照

c - EOF は常に負ですか?

EOF常にマイナスですか?

入力の次の単語を読み取り、単語が見つかった行番号を返す関数、またはEOF入力の最後に到達した場合に関数を作成することを考えています。EOFが必ずしも負でない場合、関数は正しくありません。

0 投票する
5 に答える
4630 参照

c++ - C++ で EOF チェックが失敗する原因となるファイルの末尾の空白

3 つの列を持つファイルからデータを読み込んでいます。たとえば、データは次のようになります。

データを読み込むために、次のチェックを使用しています。

私の問題は、ループが通常余分なループを実行することです。これは、多くのテキスト エディターが実際のコンテンツの最終行の後に空白行を挿入するように見えるためだと確信しています。

少しグーグルで検索してSOを検索したところ、EOFが最後の行を繰り返すまでテキストファイルから読み取るなどの同様の状況がいくつか見つかりましたが、私の問題を解決するために与えられた解決策をうまく適応させることができなかったようです. 助言がありますか?

0 投票する
11 に答える
34235 参照

awk - awkでEOFを検出する方法は?

現在の行が入力ストリームの最後の行であるかどうかを判断する方法はありますか?

0 投票する
5 に答える
2008 参照

vb.net - 「ファイルの終わり」エラーの回避

タブ区切りファイルをテーブルにインポートしようとしています。

問題は、時々、ファイルに 2 つの「null 値」を持つ厄介なレコードが含まれ、プログラムが「予期しないファイルの終わり」をスローすることです。

たとえば、各レコードには 20 個のフィールドがあります。しかし、最後のレコードには 2 つのフィールド (2 つの null 値) しかないため、予期しない EOF が発生します。

現在、私はを使用していStreamReaderます。

行数を数えて、「ファントム ヌル」の前に読み取りを停止するように bcp に指示しようとしましたが、「ファントム ヌル」がStreamReader原因で行数が正しくありません。

すべての偽のコード (ネットから借用したコード) を取り除くために、次のコードを試しました。ただし、フィールドを空のスペースに置き換えるだけです(行が残っていない結果が欲しいです)。

SSIS を使用してみましたが、予期しない EOF エラーが発生します。

私は何を間違っていますか?

0 投票する
2 に答える
723 参照

c# - CTRL-DがEOFをモノラルで送信しないのはなぜですか?

次のC#ファイルを使用してください。これは、私の問題を可能な限り簡単に再現したものです。

これをmonoでビルドしてコンソールで実行すると、EOFを送信できないことを除いてすべてが正常に機能します。Ctrl-Dを入力すると、コマンドラインに奇妙な文字が表示されます。EOFのチェック方法が間違っていると思いますConsole.Inが、プロパティTextReaderを持たないです。EndOfFileどうすればこれを修正できますか?

0 投票する
1 に答える
5390 参照

python - python stdin eof

Pythoneofをstdinに渡す方法

これが私のコードです

入力文字列ウィンドウを入力した後、コマンドラインでcommdを実行すると、Ctrl+Zが入力の受け入れを終了することを期待しています。

プログラムでeofまたはCtrl+Zを渡すにはどうすればよいですか?

ありがとう!

0 投票する
6 に答える
65565 参照

python - PythonでEOFまでループする方法は?

ファイルのようなオブジェクトの最後に達するまでループする必要がありますが、「それを行う明白な方法」が見つからないため、何かを見落としているのではないかと疑っています。:-)

"<length><data>" 形式で不明な数のレコードを格納するストリーム (この場合は StringIO オブジェクトですが、一般的なケースにも興味があります) があります。

さて、これを読むために想像できる唯一の明確な方法は、初期化されたループを使用することです (私はそう思います)。これは少しPythonらしくないようです:

C に似た言語でread(4)は、while's test 句に を挿入するだけですが、もちろん Python では機能しません。これを達成するためのより良い方法について何か考えはありますか?

0 投票する
5 に答える
18470 参照

yacc - バイソンファイルの終わり

ファイルの末尾に空行を置き忘れると、プログラムで構文エラーが発生します。問題は、私の文法が改行が現在の行を終了することを期待していることです。改行が存在しないため、バイソンはルールを終了しないため、構文エラーを生成します。

これを解決するにはどうすればよいですか?<<EOF>>私はリターンを試みましMY_EOFたが、レックスが恐ろしい死を遂げたとき。デフォルトの EOF には、呼び出していないコードがあると思います。それらがどのような機能であるかはわかりません。EOF を使用してエラーを作成するsymbol EOF is used, but is not defined as a token and has no rules