問題タブ [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.
c - getc 関数が '\n' を読み取っていません
関数が新しい行に到達するたびに 0 を出力するようにしたいのですが、機能していませんが、ファイルから各単語を取得することは正常に機能します。迅速な対応をいただければ幸いです。
入力ファイルのデータは次のようになります。
コード:
c - 渡された入力と C でのファイル読み取り用の getc()
2 種類の入力を持つことができる C でプログラムを開発する必要があります。
- 文字列を入力することにより (このファイル名 < String1234455678 のように想定しています。間違っている場合は修正してください)。
- 一部のファイルからデータを読み取る。
その中にある文字に関していくつかのチェックを行い、それらを配列に格納する必要があります。getc()
しかし、最初に標準入力からの使用方法を学びたいです。
私の最初の質問は、getc()
両方の場合に使用できますか?
フィード行/ファイル内のすべての文字をループしたかったので、コードは次のようになると思います。
上記のコードには問題がある可能性があります。その種の挿入がCで有効かどうかを知りたかったのです(インデックスが指定されていないため、配列の最後に値がプッシュされるだけです)。また、 http://beej.us/guide/bgc/output/html/multipage/getc.htmlから読んで、まったくgetc(stdin)
同等getchar()
です。これが実際に正しいことを再確認したいだけで、どちらの関数も、データを読み取らなければならない(ファイルから、プログラムに文字列を供給する)必要がある両方のケースで機能します。
また、複数のファイルから文字を読み取る方法を知りたいと思っていました。私のプログラムが programName file1 file2 として実行されるとします。
お時間をいただき、ありがとうございました。
乾杯!
編集1:
また、ファイル/文字列フィードから文字がいつ終了するかを確認する方法も知りたいと思っていました。どちらの場合も EOF を使用する必要がありますか?
例:
c - ファイルの文字列のスペースをテストする
file.txt の文字がスペース ' ' であるか、このコードを使用していないかをテストしようとしています:
しかし、デバッガーで変数「c」を検査すると、奇妙な記号「ے」がゴミのように表示されます。
なにが問題ですか
perl - Perl6: raw モードで getc
Perl 6 モジュールTerm::termiosを使用しています。
このスクリプトを実行してup-arrow, down-arrow,のキーを押すとright-arrow、次の出力が表示されます。left-arrowq
しかし、私は期待していたでしょう:
目的の出力を得るには、スクリプトをどのように変更する必要がありますか?
c - dictファイルを読んで「単語」を見つけ、トライに追加する
この問題では、a を読み、単語が何であるかを区別する必要があります。単語は意味のあるものである必要はありません。単語には、asdas、sdgsgd、dog、sweet などがあります。アクセスするには、マッピング ファイルを使用する必要があります。
そのコードはマッピング ファイルに入り、 と ファイル名が何であるかを区別します。彼らから私はファイルを開きます
私の問題はreadDictにあります。実際に単語とそうでないものを区別するには、このdictファイルで文字ごとに移動する必要があります。単語は、任意のアルファベット文字で構成できます。含まれているとしましょう: dictionary$@#$LoL!@#FFDAfg(()) これに含まれる単語は、dictionary、LoL、FFDAfg です。私はこれらの文字を読む必要があり、それが文字である場合は、これをトライに直接追加する必要があります(一度に文字を追加するだけでトライを管理する方法を理解していません)か、追跡する必要があります各文字を文字列に入れ、アルファベット以外の文字に到達したら、その「単語」をトライに追加する必要があります。
私のトライ構造は次のとおりです。
私は方法を持っています
私の現在の挿入方法は次のとおりです。
文字列をトライに挿入することになった場合、この方法はうまくいくと思いますが、私の問題は、以前の readDict ファイルから文字列を取得する方法がわからないことです。また、これを(可能であれば)一度に文字を挿入するように変更する方法がわからないので、文字を文字ごとに読み込んで、それが文字であるかどうかを確認し、小文字に変換した後、そうでない場合はトライに追加しますそこの。
c - バッファから文字を読み取る
入力として文字列をスキャンしています。たとえば、getline を使用しています。
そして、 fgetc を使用して最初の文字を読み取りたい 、私はやろうとしました
しかし、それはエラーをスローします
'char**' を 'FILE* {aka _IO_FILE*}' に変換できません。引数 '1' は 'int fgetc(FILE*)' に変換されます。
私はそれをチェックしましたが、このようにバッファから文字を読み取る方法は何も見つかりませんでした。正しい方法は何ですか?