問題タブ [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 投票する
2 に答える
2344 参照

php - これは、PHPでファイルを読み取っているときにEOFを決定するための許容可能な方法ですか?

私はPHPにかなり慣れておらず、Cで行ったことを変換しようとしています。教えられたCのファイルから読み取るためのイディオムは次のとおりです。

私はいくつかの読書をしました、そしてそれをPHPでこれをする「正しい」方法は次のように思われるでしょう:

私の質問は次のとおりです:次のように2つを組み合わせても大丈夫ですか(私はそれを試しましたが、テストファイルで問題なく動作します)、またはこれがEOFの前にnullを見つける可能性がある状況はありますか?:

よろしくお願いします

スティーブ

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

c - ループ内のファイルのすべての文字を出力するように fgetc を取得するにはどうすればよいですか

私はfgetcで遊んでいて、ループで行セクションを一度印刷してから最初の16文字を印刷する方法を考えていました。

これが私のコードです:

出力を次のようにしたい:

このforループを使用して文字を印刷しようとしました:

しかし、ループはまだ最初の文字に集中していたため、他の文字は取得されませんでした

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

c - エスケープ文字を文字として出力するにはどうすればよいですか?

このコードを使用して、エスケープ文字を文字または文字列として出力しようとしています:

しかし、試してみると、実際にはエスケープシーケンスが出力されます。

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

c - C での fgetc の連続呼び出し

私はbrainfuckインタープリターの実装に取り​​組んでおり、2つの連続,したコマンドの呼び出しに苦労しています.

これが私のコードの抜粋です:

プログラムの出力は次のとおりです。

2 番目の呼び出しが機能しないのはなぜfgetcですか?

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

php - fgetc 参照変数

少し楽しいコード ゴルフをしていて、問題が発生しました。

ゴルフ:

非ゴルフ:

ファイルをループしている間、EOF に非常に速く到達したように見えます。まるでポインターであるかのように反復$vが転送されているかのようです。fgetc


入力:

期待される出力:

私の出力:


入力:

期待される出力:

私の出力:


私の疑いは正しいですか?を繰り返すことで、時期尚早に EOF に到達してい$vませんか?

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

c - int width==CHAR_BITである特別な場合のfgetcの出力は何ですか

C99のセクション7.19.7.1には、次のものがあります。

ストリームが指す入力ストリームのファイルの終わりインジケーターが設定されておらず、次の文字が存在する場合、fgetc関数は、その文字をintに変換されたunsigned charとして取得し、ストリームに関連付けられたファイル位置インジケーターを進めます。 (定義されている場合)。

私が理解したように、intタイプは。と同じ幅を持つことができますunsigned charintこのような場合、fgetcはwidth>CHAR_BITの場合にのみ正しく機能すると結論付けることができますか。

(blagovestによるコメントを参照して)、C99は、標準ライブラリがいつ期待されるか、または準拠する実装が標準ライブラリのすべてではなく一部を実装できるかどうかを指定しますか?

0 投票する
6 に答える
11500 参照

c - unsignedcharとEOFの比較

次のコードをコンパイルすると、無限ループに入ります。

gccコンパイラはコンパイル時にも警告を出します

コードは、にunsigned char置き換えられたとき、charまたはint期待どおりに終了したときに正常に実行されます。
ただし、コードも正常に実行さunsigned intれます。私が読んだように、EOF定義は次のよう-1stdio.hなります。なぜこのコードはunsigned charでは失敗するのに、unsignedintでは正常に実行されるのでしょうか。

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

c - fgetcnullターミネータ

私はK&Rでエクササイズをしています:

次のタブストップまでのスペースに、入力のタブを適切な数のブランクに置き換えるプログラムdetabを記述します。

そしてこれは私がこれまでに持っているものです(ファイルのエラーチェックなし):

それはうまくいくようですが、なぜ\0最後に必要がなかったのか疑問に思います。ラッキーでしたか?

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

c - Cでの異なる出力コンテンツファイルのコピー

こんにちは私はCで簡単なコピーファイルプログラムを持っていましたが、2番目の方法を使用したときに宛先ファイルで異なる出力が得られる理由を説明できません。forループを使用した正しい出力:

ただし、whileループを使用すると、EOFでランダムな文字が生成されます。

コードは

私はfputcまたはputcとfgetcまたはgetcの両方を使用しましたが、それでも同じです。何か忘れましたか?

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

c - fgetc の実装。一字一句読もうとする

私は単語ごとに読もうとしていますが、以下は私が採用したロジックです。これは、現在のファイルの最後の単語と次の新しい行の最初の単語を格納する行の最後の単語に到達する場合を除いて、単語をうまく読み取ります。誰かがこれを機能させる方法を教えてもらえますか?

fpファイルポインタです。

私は得ています(引用符なし)