問題タブ [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 がブロックされるのを防ぐ方法
をpopen()
実行する関数がありtail -f sometextfile
ます。ファイルストリームにデータがある限り、明らかにデータを取得できますfgets()
。これで、新しいデータが末尾から来ない場合、fgets()
ハングします。私は試しferror()
てみfeof()
ましたが、役に立ちませんでした。fgets()
ファイル ストリームに新しいものが何もないときに がデータを読み取らないようにするにはどうすればよいですか?
提案の1つはでしたselect()
。これはWindowsプラットフォーム用であるため、匿名パイプが機能しないように見えるため、selectは機能しないようです(この投稿を参照)。
php - PHP の fgets() が大きなファイルでこれほどひどいものになっているのはなぜですか?
fgets()
大きなファイルに対して非常に恐ろしい実装についてはどうfread
ですか?
実証するには、次のコードを実行します。
php - wamp では特定の URL で fgets がハングするのに、mamp では問題ないのはなぜですか?
fopen と fgets を使用して RSS フィードを読み取るスクリプトがあります。
http://rss.fok.nl/feeds/nieuwsのフィードにアクセスしようとすると、PHP の max_timeout に達するまでスクリプトがハングします。
問題は次のとおりです。
- 今日まで(同じURLで)完全に機能していました。
- 私の開発用Mac MAMPサーバーではまだ動作します。
- 実稼働 WAMP サーバー (php 5.2.8) では機能しません。
fread を試みましたが成功しませんでした。
何か案は?
php - PHPを介してWebサイトのソースを取得する最も効率的な方法は?(GETリクエスト)
file_get_contentsを使用してWebページのソースを取得できることは知っていますが、最も効率的な方法を知りたいと思います。
ずっと前に作成した、次のようなものを使用する古いクラスがあります。
これが最善の方法ですか?最も効率的とは、最速の結果を返すことを意味します。
c - fgets よりも速く入力行を読み取りますか?
私は、パフォーマンスが非常に重要であるが重要ではないプログラムを書いています。現在、私は行ごとにテキストを読み込んでおり、各行を取得するためFILE*
に使用しています。fgets
いくつかのパフォーマンス ツールを使用した後、アプリケーションが実行されている時間の 20% から 30% が内部にあることがわかりましたfgets
。
テキスト行を取得するより高速な方法はありますか? 私のアプリケーションはシングルスレッドで、複数のスレッドを使用するつもりはありません。入力は標準入力またはファイルからの可能性があります。前もって感謝します。
java - stdin での Java と C++ アプリ間の通信の問題
ここに、java.lang.Process API を介して C++ アプリを起動し、stdin パイプを介してコマンドを送信しようとする Java アプリがあります。
C++ 側では、stdin の入力をチェックするループが実行されており、入力がある場合はそれを読み取ります。残念ながら、チェックは常に 0 を返すため、読み取ろうとしません。チェックを外すと、突然コマンドを認識して処理し始めます。これはLinux上にあります。
チェックして stdin から読み取る C++ アプリのコードは次のとおりです。
先ほど言ったように、if 句を削除すると機能しますが、もちろんそれはあまり良くありません。それを巡るループは他のことも行うからです。誰かが私がここで間違っていることを理解していますか?
更新: 一方、2 つの非常に小さなサンプル アプリで問題を再現することができました。この問題は、ここで Qt フレームワークに関連しているようです。フレームワークに必要な QCoreApplication インスタンスを作成するとすぐに、stdin の select() が機能しなくなったようです。
php - PHP 5.x で fsockopen を使用して Fget をループする
最終的にPythonサーバーが動作し、出力で複数のコマンドに応答しましたが、完全な出力を受け取るPHPに問題が発生しています。fgets、fread などのコマンドを試しましたが、機能しているように見えるコマンドは「fgets」だけです。
ただし、これはオンラインのデータのみを受信するため、以下に示す while ステートメントを作成しました。
ただし、Python サーバーは出力の最後に Feof を送信していないようで、php ページがタイムアウトして何も表示されません。上で述べたように、echo fgets($handle) を実行するだけで問題なく動作し、出力は 1 行であり、どちらのコマンドも実行しないで再度コマンドを実行すると、次の行が表示されます。
Python スクリプトの重要な部分を以下に添付しました。
完全な PHP スクリプトも添付しました。
ありがとう、アシュリー
php - PHP - ファイルの最後の行を返しますか?
fgetsだと思いますが、特定の構文が見つかりません。ログファイルに追加された最後の行を読み出そうとしています (文字列の方が簡単だと思います)。
c - scanf() と fgets() の違い
fgets()
と の違いを知りたいですscanf()
。プラットフォームとして C を使用しています。
php - PHP fgets() (または fread()) がブロックしない
PHP スクリプトを使用して beanstalkd サーバーに接続し、既存のキューからジョブを予約しようとしています。fgets() 関数を使用してデーモンからの応答を取得しています。ジョブが利用可能でない限り、スクリプトがハングすることを期待しています。サンプル コードは次のとおりです。
ご覧のとおり、fgets() 関数を強制的にブロックしようとしており、max_execution_time を 0 (つまり制限なし) に設定していますが、しばらくすると (2 分)、スクリプトはエラーなしで戻ります。telnet 経由で reserve コマンドを実行しようとしましたが、実行中にハングします。fread() も使用しようとしましたが、同じ動作になります。
それを解決する方法について何か提案はありますか?