問題タブ [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 - Cでfopen/fread/fgetsはPIDセーフですか?
さまざまなユーザーが、100% C (CGI) でプログラムされた Web サイトを閲覧しています。各 Web ページは、fopen/fgets/fread を使用して、ファイルから共通データ (ナビゲーション バーなど) を読み取ります。さまざまな人が同じページを閲覧している場合、 fopen/fgets/fread への各呼び出しは互いに干渉しますか? もしそうなら、これは C でどのように解決できますか? (これは Linux サーバーであり、コンパイルは gcc で行われ、これは C でプログラムされた CGI Web サイト用です。)
例:
php - サーバー応答を読み取る PHP 最速の方法
私が行っているfgets
いくつかのバッチデータベース呼び出しに対するサーバーの応答を取得するために使用することによって生成される遅延に、いくつかの実際の問題があります。
私は、たとえば 10,000 回の呼び出しのバッチを送信しています。各呼び出しの応答を取得する必要があるため、アプリケーションの速度を遅らせる fgets までの遅延を追跡しました。
問題をよく説明しているこのスレッドhttp://bugs.php.net/bug.php?id=32806fread
を見つけましたが、彼はサーバーの応答ではなくファイルを読んでいるので、私が参加できるので少し難しいかもしれません次の行の、そして私が望まない余分なもの。
私の質問は、fgets の代わりにサーバーからの応答を読み取るための最良/最速の方法は何ですか?
php - fsockopen石鹸リクエスト
phpを使用してSOAPメッセージをサービスに送信しようとしています。
fsockopenでやりたいのですが、コードは次のとおりです。
$ fp = @fsockopen( "ssl://xmlpropp.worldspan.com"、443、$ errno、$ errstr);
if(!is_resource($ fp)){die('fsockopen呼び出しがエラー番号で失敗しました'。$errno。'。'。$errstr); }
$ soap_out = "POST / xmlts HTTP / 1.1 \ r \ n"; $soap_out。="ホスト:212.127.18.11:8800 \ r \ n"; // $soap_out。="User-Agent:MySOAPisOKGuys \ r \ n"; $soap_out。="Content-Type:text / xml; charset ='utf-8' \ r \ n"; $soap_out。="Content-Length:999 \ r \ n \ r \ n"; $soap_put。="接続:閉じる\ r \ n"; $soap_out。="SOAPAction:\ r \ n"; $soap_out。='Worldspanこれはテストです';
上記のコードはハングします。okと入力している間に削除すると、問題は$soap_inにあると思います。=fgets($ fp、100)
何が起こっているかについてのアイデア
c - fgets() 入力から末尾の改行文字を削除する
ユーザーからデータを取得して、gcc の別の関数に送信しようとしています。コードはこのようなものです。
\n
ただし、最後に改行文字があることがわかりました。したがって、入力するJohn
と送信されJohn\n
ます。\n
それを削除して適切な文字列を送信するにはどうすればよいですか。
php - PHP を使用してオンザフライでリモート ファイルを編集する
リモート テキスト ファイルをオンザフライで編集する必要があり、その内容は現在 ~1Mb です。
私はいくつかのアプローチを試しましたが、どちらも信頼できない不格好または独り占めのメモリのようです。
私が達成しようとしていることを論理的に考えることは次のとおりです。
- リモートサーバーへの FTP。
- バックアップ用にファイルのコピーをダウンロードし、ローカルのどこかに保存します。
- リモート ファイルを開き、必要な行を追加します。
- ローカル サーバーから生成された不要なデータの配列に従って、リモート ファイルから行を削除します。
これは可能ですか?
手順 1 と 2 は何とかコーディングできましたが、3 と 4 は難しいです。現在行っている方法は、fgets を使用して文字列全体を返すことです。本当に、文字列全体を操作して再生成し(そしてそれは大きい)、リモートファイルの2つのマーカーの間に再挿入する必要があるため、これを行いたくありません。
ファイル内のテキスト行をオンザフライで操作する方法はありませんか?
php - ファイルを開いて最後の行を削除するにはどうすればよいですか?
ファイルを開いて、ファイルの最後の行を取得します。ここで、行= "?>"であり、これはphpドキュメントの終了タグです。データを追加して、最後の行の「?>」に追加し直したいのですが。
私はいくつかのアプローチを試みてきましたが、運がありません。
zipファイルから読んでいるので、これまでに得たものは次のとおりです。私はこれがすべて間違っていることを知っていますが、これについて助けが必要なだけです...
$curr_lang_file
は、fstreamを追加する必要がある実際のファイルへのファイルパス文字列ですが、「?>」に等しい最後の行を削除した後です。
さて、私は実際にいくつかの変更を加えました、そしてそれはうまくいくようです、しかしそれは今そこにデータを2回コピーします... arggg、それでファイルの各行は今そこに2回あります:(
OK、fwriteを削除しましたが、現在は下部の?>のすぐ下に追加しています。
OMG、私は最後の行まですべてが必要です、これを行う方法はありませんか?「?>」はいらない
c - \n区切られたファイルから文字列を読み取る方法
戻り区切りファイルを読み込もうとしています。フレーズだらけ。
各フレーズを文字列に入れようとしています。
問題は、ファイルを次のように読み込もうとすると、
文字列には1つの単語しか含まれていません。スペースにぶつかると、文字列の読み取りを停止します
c++ - fgets がブロックされるかどうかを確認する
fgets の呼び出しが後でブロックされるかどうかを知るために、C で入力バッファーを覗いたり、同様のトリックを実行したりできるかどうか疑問に思っていました。Java では、BufferedReader.ready() を呼び出すことで、そのようなことを行うことができます。このようにして、次のようなコンソール入力を実装できます。
これにより、外部スレッドは on を false に設定することにより、入力ループを適切にシャットダウンできます。移植性のないトリックに頼らずにCで同様の実装を実行したいのですが、シグナルに頼るか、または(バッファリングの処理を要求しても)再実装することにより、UNIXで「タイムアウトしたfgets」を作成できることはすでに知っていますそれは recv/select の上にありますが、Windows でも動作するものを好むでしょう。
ティア
c - C の子が読み取り、「リソースが一時的に利用できません」と表示される
そのため、親プロセスから子プロセスへのファイル ストリームがあり、ほとんどの場合、正常に動作します。ただし、複数回すばやく読み取ると、fgets() を使用すると NULL が返され、エラーは「リソースが一時的に利用できません」に設定されます。問題は断続的です。読み取りを行うスクリプトを実行すると、fgets が NULL を返す場合と返さない場合があります。
このエラーの発生を止めるのを手伝ってくれる人はいますか? ありがとう!
編集:ここにいくつかのコードがあります..他のどのコードが役立つかわかりませんか? かなりあります
要求に応じて、パイプを開き、子プロセスを処理するコード..