問題タブ [fgetc]

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

c - C:ダブルスペースに達するまで`改行`を数えます

基本的に、私は次のようなファイルからデータの「ブロック」を読み取ろうとしています。

上記の例は、2ブロックのデータに変換されます。1つ目は4行の高さ、2つ目は3行の高さです。

ダブルスペースは「ブロック」を区切ります。

これが、ダブルスペースが発生するまで読み取るコードです。(これは最初のループを読み取り、次にfseek読み取りたい他のブロックを読み取るために使用します-この質問では実際には重要ではありません)

これはほとんどの場合正常に機能しますが、機能しない複雑で説明のつかないケースがあります。さらに、それは非常に肥大化していて散らかっています。

数を数え、到達new lineしたときに数えるのをやめる、よりきちんとした、より良い方法はありますか?double new line

0 投票する
8 に答える
3097 参照

c++ - Cを使用してテキスト内の単語を検索し、その単語の後に情報を表示する

次のようなテキストファイルがあるとします。

ユーザー:ジョン

デバイス:12345

日付:12/12/12

編集:

単語を正常に検索し、その単語の後に情報を表示するためのコードがあります。ただし、コードを編集して2つまたは3つの単語を検索し、1つの単語ではなくその後ろに情報を表示しようとすると、機能しません。同じwhileループにコードを追加し、別の単語の新しいwhileループを作成しようとしましたが、どちらも機能しません。私が間違っている/していないことがあるに違いありません。

アドバイスをお願いします、ありがとう!

これが私のコードです:

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

c - C-fgetcでファイルの過去の終わりを読み取る

私は最も奇妙なことが起こっていますが、なぜそれが起こっているのかよくわかりません。基本的に私がする必要があるのは、fgetcを使用して単純なASCIIファイルの内容をバイトごとに取得することです。奇妙な部分はそれが機能したことですが、それから私はさらにいくつかの文字を追加しました、そして突然それはそこになかった改行を追加し、ファイルの終わりか何かの終わりを超えて読みました。文字通り私がしたのは

そして、確認するために、各文字を印刷しました

また、ファイルに含まれていなかった改行を追加したことを除いて、すべてが正しく出力されます。その前に、私は持っていました

しかし、それはいくつかの未知のバイト(それはぎこちないものを印刷した)で終わった。念のためstrlen(temp)-2を試してみましたが、その特定のファイルで機能しましたが、最後に「a」を追加すると、再び壊れました。

私は正直に困惑しています。なぜこれをしているのか分かりません。

編集:checked_reallocは単なるreallocですが、メモリが不足していないことを確認するための簡単なチェックがあります。これがこれを行うための最も効率的な方法ではないことは理解していますが、なぜ私が魔法のように余分なバイトを読み取っているように見えるのかについてもっと心配しています。

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

php - 変更を行うファイルの「ウォーク」、PHP

ファイル内の各文字を別の文字に置き換えて、ファイルを 1 つずつ「ウォーク」したいと考えています。

fgetc() を使用するのと似ていますが、その char も置き換える必要があります。ファイルが大きいのですが、これを行う最善の方法はどれですか? 何かアドバイス?

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

c - fgetcは常に値1を返します

次の機能があります。

main()本体で、次のコードを使用して上記の関数を使用しました。

;

myfile.txtに何を入れても、プログラムはそれを出力します。たとえば、abcの場合、111が出力されます。

EOFと適切に比較するには、関数内のcをintとして宣言する必要があることを私は知っています。また、テキストファイルの各文字に設定されたASCIIからのintコードが出力されることを期待していました(aの場合は97、...)。なぜ「1つ」が出力されるのかわかりません...その理由を知っていますか?前もって感謝します。

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

php - ほぼ同じコードですが、出力が異なります。なぜですか?

UTF-8 でエンコードされたテキスト ファイルを使用していますが、適切な解決策が見つかりません...

文字列の問題が解決できなかったので、現在 fgetc() を試していますが、これも機能しません。このコード:

正常に動作し、出力: abcd абвڛ efg しかし、//echo "\t" のコメントを外すと、動作せず、次のように出力されます: � � abcd � � � � � � efg

なぜ?それを修正する方法は?

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

c - C:EOF検出とfgetc

目的:無限ループを停止するためにEOFを正常に実装する方法は?

関数が呼び出される部分:

関数の定義:

サンプル入力:

サンプル出力:

私の呼びかけは、上記のreturnステートメントを確認することです。何らかの理由で、EOFであるかどうかを検出しません。

どんな助けでも大歓迎です!ありがとう!


更新: @JoachimPileborgに感謝します!以下のコードを更新しました:

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

c - バイナリ ファイルで fgetc() または fputc() を使用できますか?

C でアーカイブ プログラムを作成しています。提供したファイルを保存し、一覧表示して抽出します。
保存にテキスト ファイルを使用したため、多くの問題がありました。音楽や写真などのバイナリ ファイルを処理する場合、それらを抽出すると正しく実行されない (破損している) ため、最適な選択ではありません。この問題を解決するために、バイナリ アーカイブ ファイルを作成したいと考えました。

ファイル書き込み (抽出時) のコードは次のとおりです。

バイナリファイルを正しく抽出する必要があるため、上記で書いたコードを使用できますか、またはすべてfgetc()fputc()関数をfread()andで変更する必要がありfwrite()ますか?

ありがとう

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

c - fseek を c の fgetc で動作させることができません

C でブレイン インタープリターを作成しようとしていますが、fseek を動作させることができません。何が間違っているのかわからないので、可能であれば fseek を使い続けたいと思います。fgetc を使用して各ブレインファック文字を個別にチェックし、x を使用して fgetc の値を保持しています。コードは次のとおりです。

}