問題タブ [fgets]
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 - fgetsは存在するよりも多くの文字を読み取ります
私は次の機能を持っています:
読み取るファイルの行は次のとおりです。
ただし、「\ 0」まで各文字を出力すると、次の出力が得られます。
なぜ余分な3文字と4文字を読み取るのかについて誰かが手がかりを持っていますか?(ファイルに余分なスペースはありません)。
注:ファイルは次の方法で開かれました。
c - Cの実用的なラインバッファサイズ?
popen を使用して、シェル コマンドからの出力を読み取ります。fgets を使用して 1 行ずつ読み取ります。私の質問は、char* バッファーに最適なバッファー サイズを選択する方法です。教授が私たちにそのようなものを含め<limits.h>
て使用LINE_MAX
するように言ったのを覚えています. Mac では問題なくLINE_MAX
動作しますが、Linux では動作しません。
このメーリング リスト アーカイブは同じ質問を提起しますが、私の質問に対する回答はありません http://bytes.com/topic/c/answers/843278-not-able-locate-line_max-limits-h
c - Cでchar配列に文字列を追加する
buf という C 配列があります。その定義は次のとおりです。
char buf[1024];
現在、私の現在のコードはその配列を取得して設定するためにstdin
使用fgets()
していますが、代わりにコードを使用して設定したいと考えています。現在、buf を設定する行は次のようになっています。
fgets(buf, 1024, stdin);
基本的に、標準入力を「My String」などに置き換えたいと思います。これを行う最善の方法は何ですか?
php - fseek()はバイトではなく、行ごとですか?
大きなファイルを1行ずつ解析するスクリプトがあります。処理できないエラーが発生すると停止し、最後に解析された行を通知します。
これは、ファイル内の特定の行を探すための本当に最良の/唯一の方法ですか?(fseek()
私の場合は使用できません。)
私はこれを使用するのに問題はありません、それは十分に速いです-それは少し汚れているように感じるだけです。基礎となるコードについて私が知っていることから、これを行うためのより良い方法があるとは思いません。
c - 奇妙な fgets() の問題
GCCでコンパイルした後、このコードをWindows 7(問題がある場合は64ビット)で実行しようとしています。bufsize を int として宣言すると、プログラムがフリーズし、Windows が動作を停止したことを通知します。#define bufsize 123 を使用すると問題なく動作し、自分で bufsize を数値に置き換えても問題なく動作します。ここで何が欠けていますか?
c - fgets() を使用した読み取りと格納
txt ファイルなどの単純なファイルからテキストを読み取るために fgets を使用していますが、前の行に戻る機能が必要です。fgetsを使用してこれを行う方法はありますか? または、テキストを何らかの配列/構造体に保存するだけですか?
c - cでscanfを使用して空白を読み取るにはどうすればよいですか?
問題: 2 つの空白が連続して発生することを識別できるようにする必要があります。
次の質問を読みました。
そして、私はscanfの問題を認識しています: http://c-faq.com/stdio/scanfprobs.html
入力は次の形式になります。
2 つの空白は、次のデータ セットを処理してそれ自体と比較する必要があることを示します。線の長さは不明であり、各グループの数または整数は不明です。次のデータ セットを区切るには、2 つの空白が最も多くなります。
fgets とさまざまな組み込み関数を使用してこの問題を解決できますが、この時点で scanf を使用して問題を解決する方が簡単になる可能性があります。ただし、そうでない場合は、fgets、strtok、atoi を使用するとほとんどの作業を実行できますが、それでも 2 つの空白が連続して識別される必要があります。
以下は、非整数が入力されるまで整数を取ります。
私が必要とするのは、空白も読み取ることです.2つの連続した空白がある場合は、次のデータセットで何か違うことをするようにプログラムします.
そして、空白を取得すると、次のように言う方法がわかりません。
お時間をいただき、ありがとうございます。
得られた教訓: scanf の解決策が Jonathan Leffler によって以下に投稿されていますが、getc を使用した場合の解決策はもう少し簡単でした (内部の scanf、正規表現、および char に関する詳細な知識は必要ありません)。振り返ってみると、正規表現、scanf、および char についての知識が深まり、問題が解決しやすくなり、もちろん、どの関数が利用可能で、どの関数を最初から使用するのが最適であったかがわかります。
c - このテキスト行を構造体に読み込む最も簡単な方法は?
次の形式のデータを含むテキストファイルがあります。
各行を次のような構造体にする必要がありますが、固定長配列の使用は避けたいと思います(私が知る限り、fgetsの問題):
私はCを初めて使用します。fscanfまたはfgetsを使用する必要がありますか?
c - fgets()で標準入力から読み取る方法は?
端末ウィンドウから行を読み取るために次のコードを作成しましたが、問題はコードが無限ループに陥ることです。行/文の長さは定義されていないため、バッファに分割して読み込んでから、それに応じて拡張できる別の文字列に連結する予定realloc
です。誰かが私の間違いを見つけたり、これを達成するためのより良い方法を提案したりできますか?
c - C fgets 質問
上記の変数「結果」を持つ目的は何ですか? それに対して何も行われていません。fgets から返されたポインタはそこに格納されますが、それだけです。目的はありません。