問題タブ [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.
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 を入力するにはどうすればよいですか?
c - c で getchar() を使用してセグメンテーション違反を取得する (コア ダンプ)
後で使用するためにchar配列にロードされる一連のcharを入力する必要があるプログラムを書いています。私が動作させようとしているコードは次のようになります。
しかし、プログラムでこの行に到達すると、「セグメンテーション違反 (コアダンプ)」が発生してクラッシュします.. \n を別の文字 (% など) に置き換えると、
その後、正常に動作しますが、% ではなく改行を使用したいと考えています。私はいくつかのチュートリアルを見てきましたが、これはエンターがヒットするまで入力する方法だと言っていたので、何が問題なのかわかりません。前もって感謝します。
c - `getchar()` を使用して while ループを終了する
私の宿題では、基数間の変換にホーナーズ アルゴリズムを実装する必要があります。
getchar()
この任務に使用するように言われました。しかし、Enter キーを押してもプログラムが終了せず、さらに多くの文字が取り込まれるという問題が発生しています。
例:
コード:
Horners の実装に支援を求めているわけではありません。getchar()
を正しく終了するための助けを求めています。
c - getchar()の動作はこのプログラムに対して正しいですか?
次のコードは、奇妙な動作を示しています。改行を押すと入力を入力している間、ヒストグラム値を出力するだけです。それ以外の場合、EOF(^ Z)を直接入力すると、すべてゼロが表示されます。改行が押されたときにのみ入力を受け取るgetchar()関数に問題がありますか?
c - getchar() は 1 回おきに呼び出すだけです
Ch Standard Interpreter の使用中は、 getchar()
1 行おきにのみ実行されます。
scanf("%c", &a)
代わりに使用する場合も同じ問題があります。Vim では、ステートメントはスキップされます。
c++ - getchar() は実際にはユーザーからの入力を受け取りません
私は、C++ で柔軟なコマンド ライン (ただし長くはない!) のダイアモンド スクエア ジェネレーターを作成しています。ユーザー入力の半分を書き終えました。ただし、最後のコマンドでは、入力が「スリップ」し、改行が getchar() に自動的に入力されます。何らかのオーバーフローが発生しないように予防措置を講じました。つまり、stdin と、適切な方法として stdout の両方をフラッシュします。問題は解決しません。これが私のコードです:
これが私の出力であり、プログラムは終了しています(&& flagchar1 != '\n'
fromを削除すると、プログラムは do-while ループ全体を繰り返すだけですwhile()
):
何が起こっていますか? どうすれば修正できますか?
PS 入力検証が本質的に役に立たないことはわかっています。これに関するヘルプも大歓迎です。
c - この C コードが予期しない動作をするのはなぜですか
以下の簡単な C コードを書きましたが、コンパイルして問題なく動作します。しかし、それは私が理解できない方法で動作します。文字を入力すると、画面に表示されます。しかし、リターンキーを押すと、行全体が出力されます。したがって、a、b、c の文字を入力すると、abc がコマンド ラインに 2 回出力されます。なぜこれを行うのですか?
c - putchar、getchar、while ループでの文字の欠落
このコードの平和に問題があります。小文字を大文字に変更し、複数のスペースを 1 つのスペースに変換する必要があります。それで、それが間違っているのは、「abcdefg」と書いたときのように、最初の文字を何らかの形で切り取って、出力「BCDEFG」に表示することです。
c - C 入力 - getchar()
それは基本的な質問です..しかし、尋ねなければなりませんでした。このようなプログラムの場合、ユース ケースが 123^Z の場合、最後に EOF を入力しても (Ctrl+Z)、プログラムは終了しません。どうしてこんなことに?それが機能するのは、CRの後にEOFを置いたときだけです。任意の回答をいただければ幸いです。ありがとう。
c - fputcを理解する
C で fputc を使用する方法についての基本的な理解を得ようとしています。そこにあるいくつかのドキュメントを読み、それが正しいと信じていました。しかし、作成したスクリプトを使用しようとするたびに、 . /fputc > test.txtを実行します。ここで、text.txtは 1 行のテキストを含むテキスト ファイルです。
これは私のスクリプトです:
コンパイル時にエラーが発生せず、何らかの理由でスクリプトがテキスト ファイルの最後で EOF に達しません。getchar は、テキスト ファイルの最後に到達したときに EOF を返すべきではありませんか? テキスト (text.txt) ファイルは作成されますが、編集されているようには見えません。そのため、while ループのどこかで問題が発生しています。
私は C プログラミングに慣れていないので (わかりませんが)、この小さなスクリプトに困惑しています。
任意の助けをいただければ幸いです。または、さらに詳細なサイトへのリンクも素晴らしいでしょう。
乾杯、
S.