問題タブ [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.

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

c - Cのfgets()関数

バッファオーバーフローのために取得せずにfgetsを使用するように誰もが私に言ったことを知っています。ただし、の3番目のパラメータについて少し混乱していますfgets()。私が理解しているように、fgetsは以下に依存しています。

char* str入力が保存される場所へのptrです。

num読み取る文字の最大数です。

しかし、何FILE *streamですか?ユーザーに文字列(文など)の入力を求めるだけの場合は、「stdin」と入力するだけでよいですか?

そして、私FILE *stdinは上部、近くに入力する必要がありmain()ますか?

0 投票する
7 に答える
4722 参照

c - Cのfgetsは、ファイルからの文字列ではなく、文字列で機能するように誘導できますか?

具体的には、ここのコードサンプルはうまく機能しますが、文字列がファイルに保存されている場合に限ります。

生成された文字列(文字列変数に格納されている)を処理するために必要な場合がありますが、ファイル構造へのポインターであるため、fgetsの3番目のパラメーターが文字列変数で機能するように説得するのに問題があります。

または、文字列で使用できるfgetsと同等の機能があるのでしょうか。

助言がありますか?ありがとう!

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

c - c/cocoaでのUTF-8文字列の読み取りと出力

Objective-c / cocoaアプリでは、c関数を使用してテキストファイルを開き、1行ずつ読み取り、サードパーティの関数でいくつかの行を使用しています。疑似コード:

これは、入力ファイルに特殊文字(アクセントやUTF-8 BOMなど)が含まれ、ライブラリ関数がマングル文字を出力するまでは正常に機能します。


ただし、これを行うと:

その後、すべて正常に動作し、文字列が正しく出力されます。


私がし[NSString...ていないことをしているその行は何ですか?行が最初にフェッチされる方法に何か問題がありますか?それともまったく別のものですか?

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

c - コマンドラインから返された空の出力をキャプチャし、空の場合はメッセージを表示します

スクリプト「 check.sh 」が何も返さない場合、ウィンドウに何かを出力する必要があります。これは、スクリプトからの出力が返されない場合の検証を意味します。

check.sh には何も含まれていません。これは、実行時に何も返さない単なる空の sh ファイルです。空のshファイルでテストしています(その理由である正確なスクリプトを表示できません)。

私が印刷したいのは、check.shが何も返さないときにCを介して「何かを設定してください」のようなメッセージです。

"\n","\r","\0",NULL でバッファー行をチェックしました (以下のモジュールをチェックしてください) 。

モジュールをexecute_command("sh check.sh")として呼び出します

これが私のモジュールです

0 投票する
3 に答える
222 参照

c - 構造体のメンバーである文字配列への書き込み

ここに質問を投稿するのはこれが初めてです。似ているものを検索しましたが、見つかったものはありませんでした。

これが私のヘッダーのスニペットです:

そして、これが私のメイン関数からのスニペットです:

セグメンテーション違反が発生し続けます。'memset()'行をコメントアウトすると、セグメンテーション違反が発生する前に、入力ファイルから正確に3行を読み取ることができます。

ただし、「lineRead->buffer」をローカルのchar[]に置き換えると、入力ファイルを完全に読み取ることができます。

ここで構造体について理解していないことは何ですか?私が欲しいと思うのは、構造体内のchar []の先頭へのポインターですが、明らかにこれは起こっていることではありません。

編集:申し訳ありませんが、指定するのを忘れました:ここでは動的メモリを使用していません。

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

c - fgets-cの最後の行を省略しています

基本的に私は自分のコードに問題があります-これは宿題なので、明らかな理由でここに投稿したくないです。私がそうすることが本当に重要になった場合、私はとても立ち往生しているので、そうしなければなりません。

私は2つのテキストファイルを読んでいて、区切り文字もあります。これらの値はコマンドラインから取得されます。この場合の区切り文字はxxであると想定してください。

問題は、私のコードが最後の行を正しく実行しないことです

私はの出力を取得します

私がすべてのコードを投稿しなくても、私が間違っていることを皆さんが収集できることを願っていますが、私のロジックはこの原則に基づいて機能します。

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

c - fgets で読み取った行の strcmp

2 つの文字列を比較しようとしています。1 つはファイルに保存され、もう 1 つはユーザー (stdin) から取得されます。

サンプルプログラムは次のとおりです。

このプログラムでstrcmpは、入力が の場合、 は値 -1 を返します"bob"。どうしてこれなの?平等であるべきだと思いました。どうすればそうなるのですか?

0 投票する
3 に答える
15182 参照

c - fgets の使用時に余分なスペースを無視する

stdin で fgets を使用して一部のデータを読み取ります。最大長は 25 です。このコードで実行しているテストの 1 つでは、必要なデータの後に数百のスペースがあります。プログラムが失敗します。

fgets を使用するときにこれらの余分なスペースをすべて無視して次の行に移動する方法について、誰かが私にアドバイスできますか?

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

c - fgets()は、返す文字列を常にnullで終了しますか?

これは安全ですか?fgetsバッファをnullで終了しますか、それとも呼び出し後および呼び出し前に20バイト目をnullに設定する必要がありますfgetsclean