問題タブ [getchar]

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 投票する
2 に答える
9336 参照

visual-studio - Visual Studio デバッグ コンソールで EOF (または ASCII 0) を生成するにはどうすればよいですか?

Windows でコンソール モード プログラムを実行しています。プログラムはgetchar()ループ単位で anEOFまたは a のいずれかを呼び出します0。デバッガーの実行中に、次のいずれかをテスト ベクターとして入力したいと思います。

" abc\0" または "abc\EOF

どちらも一貫して生成できないようです。「」と入力して、この質問の提案を試しましたa bcCTRL-ZENTER。これにより、プログラムに戻り、次の呼び出し 97,98,99,26でハングします。getchar()

入力CTRL-Dしても hlep は実行されずgetchar、制御文字に対して 4 が返され、次に改行文字が返され、コンソールに入力したばかりの行が複製されます。VSが制御文字を編集文字として使用しているようです。

編集:
これは、私が使用しているコードの簡略化されたバージョンです。デバッグ コンソールとコマンド ウィンドウで同じ動作が見られます。

Windows コンソールをデバッグする Visual Studioで EOF または ASCII 0 を入力するにはどうすればよいですか?

0 投票する
3 に答える
2685 参照

c - c で getchar() を使用してセグメンテーション違反を取得する (コア ダンプ)

後で使用するためにchar配列にロードされる一連のcharを入力する必要があるプログラムを書いています。私が動作させようとしているコードは次のようになります。

しかし、プログラムでこの行に到達すると、「セグメンテーション違反 (コアダンプ)」が発生してクラッシュします.. \n を別の文字 (% など) に置き換えると、

その後、正常に動作しますが、% ではなく改行を使用したいと考えています。私はいくつかのチュートリアルを見てきましたが、これはエンターがヒットするまで入力する方法だと言っていたので、何が問題なのかわかりません。前もって感謝します。

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

c - `getchar()` を使用して while ループを終了する

私の宿題では、基数間の変換にホーナーズ アルゴリズムを実装する必要があります。

getchar()この任務に使用するように言われました。しかし、Enter キーを押してもプログラムが終了せず、さらに多くの文字が取り込まれるという問題が発生しています。

例:

コード:

Horners の実装に支援を求めているわけではありません。getchar()を正しく終了するための助けを求めています。

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

c - getchar()の動作はこのプログラムに対して正しいですか?

次のコードは、奇妙な動作を示しています。改行を押すと入力を入力している間、ヒストグラム値を出力するだけです。それ以外の場合、EOF(^ Z)を直接入力すると、すべてゼロが表示されます。改行が押されたときにのみ入力を受け取るgetchar()関数に問題がありますか?

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

c - getchar() は 1 回おきに呼び出すだけです

Ch Standard Interpreter の使用中は、 getchar()1 行おきにのみ実行されます。

scanf("%c", &a)代わりに使用する場合も同じ問題があります。Vim では、ステートメントはスキップされます。

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

c++ - getchar() は実際にはユーザーからの入力を受け取りません

私は、C++ で柔軟なコマンド ライン (ただし長くはない!) のダイアモンド スクエア ジェネレーターを作成しています。ユーザー入力の半分を書き終えました。ただし、最後のコマンドでは、入力が「スリップ」し、改行が getchar() に自動的に入力されます。何らかのオーバーフローが発生しないように予防措置を講じました。つまり、stdin と、適切な方法として stdout の両方をフラッシュします。問題は解決しません。これが私のコードです:

これが私の出力であり、プログラムは終了しています(&& flagchar1 != '\n'fromを削除すると、プログラムは do-while ループ全体を繰り返すだけですwhile()):

何が起こっていますか? どうすれば修正できますか?

PS 入力検証が本質的に役に立たないことはわかっています。これに関するヘルプも大歓迎です。

0 投票する
4 に答える
150 参照

c - この C コードが予期しない動作をするのはなぜですか

以下の簡単な C コードを書きましたが、コンパイルして問題なく動作します。しかし、それは私が理解できない方法で動作します。文字を入力すると、画面に表示されます。しかし、リターンキーを押すと、行全体が出力されます。したがって、a、b、c の文字を入力すると、abc がコマンド ラインに 2 回出力されます。なぜこれを行うのですか?

0 投票する
4 に答える
1058 参照

c - putchar、getchar、while ループでの文字の欠落

このコードの平和に問題があります。小文字を大文字に変更し、複数のスペースを 1 つのスペースに変換する必要があります。それで、それが間違っているのは、「abcdefg」と書いたときのように、最初の文字を何らかの形で切り取って、出力「BCDEFG」に表示することです。

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

c - C 入力 - getchar()

それは基本的な質問です..しかし、尋ねなければなりませんでした。このようなプログラムの場合、ユース ケースが 123^Z の場合、最後に EOF を入力しても (Ctrl+Z)、プログラムは終了しません。どうしてこんなことに?それが機能するのは、CRの後にEOFを置いたときだけです。任意の回答をいただければ幸いです。ありがとう。

0 投票する
3 に答える
5587 参照

c - fputcを理解する

C で fputc を使用する方法についての基本的な理解を得ようとしています。そこにあるいくつかのドキュメントを読み、それが正しいと信じていました。しかし、作成したスクリプトを使用しようとするたびに、 . /fputc > test.txtを実行します。ここで、text.txtは 1 行のテキストを含むテキスト ファイルです。

これは私のスクリプトです:

コンパイル時にエラーが発生せず、何らかの理由でスクリプトがテキスト ファイルの最後で EOF に達しません。getchar は、テキスト ファイルの最後に到達したときに EOF を返すべきではありませんか? テキスト (text.txt) ファイルは作成されますが、編集されているようには見えません。そのため、while ループのどこかで問題が発生しています。

私は C プログラミングに慣れていないので (わかりませんが)、この小さなスクリプトに困惑しています。

任意の助けをいただければ幸いです。または、さらに詳細なサイトへのリンクも素晴らしいでしょう。

乾杯、

S.