問題タブ [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.
php - これは、PHPでファイルを読み取っているときにEOFを決定するための許容可能な方法ですか?
私はPHPにかなり慣れておらず、Cで行ったことを変換しようとしています。教えられたCのファイルから読み取るためのイディオムは次のとおりです。
私はいくつかの読書をしました、そしてそれをPHPでこれをする「正しい」方法は次のように思われるでしょう:
私の質問は次のとおりです:次のように2つを組み合わせても大丈夫ですか(私はそれを試しましたが、テストファイルで問題なく動作します)、またはこれがEOFの前にnullを見つける可能性がある状況はありますか?:
よろしくお願いします
スティーブ
c - ループ内のファイルのすべての文字を出力するように fgetc を取得するにはどうすればよいですか
私はfgetcで遊んでいて、ループで行セクションを一度印刷してから最初の16文字を印刷する方法を考えていました。
これが私のコードです:
出力を次のようにしたい:
このforループを使用して文字を印刷しようとしました:
しかし、ループはまだ最初の文字に集中していたため、他の文字は取得されませんでした
c - エスケープ文字を文字として出力するにはどうすればよいですか?
このコードを使用して、エスケープ文字を文字または文字列として出力しようとしています:
しかし、試してみると、実際にはエスケープシーケンスが出力されます。
c - C での fgetc の連続呼び出し
私はbrainfuckインタープリターの実装に取り組んでおり、2つの連続,
したコマンドの呼び出しに苦労しています.
これが私のコードの抜粋です:
プログラムの出力は次のとおりです。
2 番目の呼び出しが機能しないのはなぜfgetc
ですか?
php - fgetc 参照変数
少し楽しいコード ゴルフをしていて、問題が発生しました。
ゴルフ:
非ゴルフ:
ファイルをループしている間、EOF に非常に速く到達したように見えます。まるでポインターであるかのように反復$v
が転送されているかのようです。fgetc
入力:
期待される出力:
私の出力:
入力:
期待される出力:
私の出力:
私の疑いは正しいですか?を繰り返すことで、時期尚早に EOF に到達してい$v
ませんか?
c - int width==CHAR_BITである特別な場合のfgetcの出力は何ですか
C99のセクション7.19.7.1には、次のものがあります。
ストリームが指す入力ストリームのファイルの終わりインジケーターが設定されておらず、次の文字が存在する場合、fgetc関数は、その文字をintに変換されたunsigned charとして取得し、ストリームに関連付けられたファイル位置インジケーターを進めます。 (定義されている場合)。
私が理解したように、int
タイプは。と同じ幅を持つことができますunsigned char
。int
このような場合、fgetcはwidth>CHAR_BITの場合にのみ正しく機能すると結論付けることができますか。
(blagovestによるコメントを参照して)、C99は、標準ライブラリがいつ期待されるか、または準拠する実装が標準ライブラリのすべてではなく一部を実装できるかどうかを指定しますか?
c - unsignedcharとEOFの比較
次のコードをコンパイルすると、無限ループに入ります。
gccコンパイラはコンパイル時にも警告を出します
コードは、にunsigned char
置き換えられたとき、char
またはint
期待どおりに終了したときに正常に実行されます。
ただし、コードも正常に実行さunsigned int
れます。私が読んだように、EOF
定義は次のよう-1
にstdio.h
なります。なぜこのコードはunsigned charでは失敗するのに、unsignedintでは正常に実行されるのでしょうか。
c - fgetcnullターミネータ
私はK&Rでエクササイズをしています:
次のタブストップまでのスペースに、入力のタブを適切な数のブランクに置き換えるプログラムdetabを記述します。
そしてこれは私がこれまでに持っているものです(ファイルのエラーチェックなし):
それはうまくいくようですが、なぜ\0
最後に必要がなかったのか疑問に思います。ラッキーでしたか?
c - Cでの異なる出力コンテンツファイルのコピー
こんにちは私はCで簡単なコピーファイルプログラムを持っていましたが、2番目の方法を使用したときに宛先ファイルで異なる出力が得られる理由を説明できません。forループを使用した正しい出力:
ただし、whileループを使用すると、EOFでランダムな文字が生成されます。
コードは
私はfputcまたはputcとfgetcまたはgetcの両方を使用しましたが、それでも同じです。何か忘れましたか?
c - fgetc の実装。一字一句読もうとする
私は単語ごとに読もうとしていますが、以下は私が採用したロジックです。これは、現在のファイルの最後の単語と次の新しい行の最初の単語を格納する行の最後の単語に到達する場合を除いて、単語をうまく読み取ります。誰かがこれを機能させる方法を教えてもらえますか?
fp
ファイルポインタです。
私は得ています(引用符なし)