問題タブ [getc]
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.
perl - Perl の getc の問題を診断するにはどうすればよいですか?
関数でこの奇妙な問題が発生していgetc
ます。getc
ソケットファイルハンドラーから文字を取得するために使用します。PC とモバイル デバイス間のメッセージ交換をシミュレートする必要があります。最初のいくつかのメッセージでは、問題なくgetc
動作します。しかし、これについてgetc
は、ソケットから何も取得できませんでした。そのモバイル デバイスをリセットするまで、Perl プログラム全体がブロックされました。しかし、wireshark は、メッセージが正しいポート番号に送信されたことを示しています。
何が起こっているのかに使用できるツールはありますか?
ありがとう
c - 標準入力から文字を読み取るためのgetc対getchar対Scanf
以下の3つの機能のうち:
getc getchar & scanf
標準入力から文字を読み取るのに最適なものはどれですか?その理由は?
これらの機能のいずれかを他の機能よりも優れたものにする既知の欠点や制限はありますか?
c - Linux の getch() & getche() に相当するものは何ですか?
Linux で conio.h の同等のヘッダー ファイルを見つけることができません。
getch()
Linux に&getche()
関数のオプションはありますか?
ユーザーが1つのキーを押すだけでオプションを提供し、プロセスを進める必要があるスイッチケースのベースメニューを作成したいと思います。ユーザーが自分の選択を押した後に ENTER を押させたくありません。
c - getc() でスマイリー フェイス以外の文字を返すにはどうすればよいですか?
C で単純な 'cat' クローンを作成しようとしています。Windows 7 を実行していて、MinGW コンパイラを使用しています。ただし、プログラムを実行すると、テキスト ファイルが返されますが、各文字が「☺」文字に置き換えられます。前もって感謝します。
perl - Perlのgetc関数を使用しているプログラムが正しく機能しないのはなぜですか?
Perlを使用してメッセージ内の文字の出現頻度を計算したいと思います。たとえば、char "a"がメッセージに10回出現する場合、頻度は10になります。これを行うには、getc関数を使用して一度に1文字ずつFILEからメッセージを読み取ります。これが私が書いたスニペットです。それは非常に基本的なことです、私は知っています。しかし、コンパイルすると、エラーが発生します。
詳細:
コンパイルしようとすると、次のエラーが発生します。
Use of uninitialized value in print at AccessChar.pl line 13, <INPUT> line 1.
このスクリプトの何が問題なのか理解できません。誰かがこれを手伝ってくれませんか?
getc
の代わりにINPUTを使ってみgetc(INPUT)
ました。このスクリプトの実行中に他のパッケージを含める必要はないと思います。
perl - Perl を使用してメッセージ内の文字頻度を計算する
メッセージ内の文字の出現頻度を調べる Perl スクリプトを作成しています。これが私が従っているロジックです:
- getc() を使用してメッセージから一度に 1 文字を読み取り、それを配列に格納します。
- インデックス 0 からこの配列の長さまで for ループを実行します。
- このループは、配列の各文字を読み取り、一時変数に割り当てます。
- 上記でネストされた別の for ループを実行します。これは、テスト対象の文字のインデックスから配列の長さまで実行されます。
- この文字と現在の配列インデックス char との間の文字列比較を使用して、それらが等しい場合はカウンターがインクリメントされます。
- 内側の For ループの完了後、デバッグ目的で char の頻度を出力しています。
質問: 文字の頻度が既に計算されている場合、プログラムで文字の頻度を再計算したくありません。たとえば、文字 "a" が 3 回出現する場合、最初の実行では正しい頻度が計算されます。ただし、次に "a" が出現すると、そのインデックスから最後までループが実行されるため、頻度は (実際の頻度 -1) になります。3 番目のオカレンスについても同様に、頻度は (実際の頻度 -2) です。
これを解決するには. 頻度がすでに評価されている文字をプッシュする別の一時配列を使用しました。
そして、次の for ループの実行時に、内側の for ループに入る前に、現在の char を評価済みの char の配列と比較し、フラグを設定します。そのフラグに基づいて、内側の for ループが実行されます。
これは私にとってはうまくいきません。それでも同じ結果です。
上記を達成するために私が書いたコードは次のとおりです。
c - txtファイルCから配列を作成する方法
(100; 200; first)という情報を含むテキストファイルを取得しました。この情報をMin = 100、Max = 200、Name=firstの3つの配列に分割する方法を教えてもらえますか。私はこれを試しました
c = getc(inp);
i = atoi(szinput);
しかし、最初は10を読み取り、2番目は00を読み取ります...などをループで読み取ります
cは1ではなく10を保存するため、配列の正しい情報を取得できません。
したがって、配列Minは100ではなく1000を格納します
ありがとう。
ruby - RubySTDIN.getcは受信時にcharを読み取りません
Ruby IO#getcは、文字を返す前に\nを受信するまで待機しているようです。
このスクリプトを実行しようとすると、次のようになります。
stdinに送信された文字ごとに1つの「到着した文字」が返されますが、\nが送信された後でのみです。
STDIN.sync = trueと書いても、すべての文字がバッファリングされているようです。
文字がSTDINに送信された直後に、スクリプトに「文字が到着しました」と出力する方法を知っている人はいますか?
c - Cでの異なる出力コンテンツファイルのコピー
こんにちは私はCで簡単なコピーファイルプログラムを持っていましたが、2番目の方法を使用したときに宛先ファイルで異なる出力が得られる理由を説明できません。forループを使用した正しい出力:
ただし、whileループを使用すると、EOFでランダムな文字が生成されます。
コードは
私はfputcまたはputcとfgetcまたはgetcの両方を使用しましたが、それでも同じです。何か忘れましたか?
c - getc(fp) トラブルの原因
これが私のコードです。
これへの出力は問題ありませんが、最後に-1の奇妙な文字が表示されます(整数値を出力しているため.
だけでそれを止める方法EOF
は?また、このキャラクターは何ですか?