問題タブ [fread]
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 - fread() の動作がおかしい
私の C プログラムでは、 を使用した後fread()
、ファイル ポインタが時々ファイルの最後に移動するという問題があります。
私はよりよく説明しようとします - コードは次のようになります:
wherefp
は開いているファイルへのファイル ポインタです ("w+" で開きました。私はそれをバイナリ ファイルとして使用しており、そこにも "b" が含まれているはずですが、あまり重要ではないと聞きました)それを追加するには..)、
dummy
単なるunsigned long
変数でありbuf
、unsigned char[8]
今、デバッグするとき、 のftell
前fread
でdummy
は 262062 で、 のftell
後fread
でdummy
は 262640 ですが、8 バイトしか「移動」しませんでした..
誰かがこれの原因が何であるか考えています..? ご協力いただきありがとうございます :)
php - ファイル カウンターが 1 ではなく 2 を追加
簡単なカウンターを作りましたが、1 ではなく 2 ずつ増えていきます。
ファイルを読み取るたびに、1 ではなく 2 ずつインクリメントされます。
php - fread()が.phpファイルと.txtファイルで異なる理由はありますか?
fread()
.txtファイルを介して.phpファイルから読み取るときに関数が機能しない(エラーが表示されない)理由はありますか?
コード
c - Cのfread()で期待どおりの結果が得られないのはなぜですか?
これが私のコードです:
これが期待される出力です
しかし、これが私のプログラムから見たものです
私の明らかな推測は、私が何かを間違ってアドレス指定して間違ったデータを受け取っているか、それを間違って印刷して間違った方法で表示しているということです。
c - ファイル I/O (メッセージ文字列の読み取り/書き込み) に関する多くの質問
私が行っているこの大学のプロジェクト (過去にいくつか投稿したことがあります) は、ある種のソーシャル ネットワークであり、ユーザーがメッセージを交換する機能が必要です。
最初に、すべてのメッセージをリンク リストに保持するようにデータ構造を設計し、メッセージ サイズを 256 文字に制限しました。ただし、メッセージをディスクに保存し、必要なときにのみ読む方が、講師の好みになると思います。もちろん、彼らは彼らが何を好むかは言いません。
覚えておくべきことの 1 つは、各ユーザーからの最新の 20 件のメッセージを保存するだけでよく、それ以上保存する必要はないということです。
現在、受信トレイとして機能するハッシュ テーブルがあり、これはユーザー プロファイル内にあります。このハッシュ テーブルは、名前 (メッセージを送信したユーザー) によってインデックスが作成されます。各要素の値は、20 個のsize_t
要素 (上で述べたように 20 個のメッセージ) の配列を保持するデータ構造になります。アイデアは、ディスク ファイルのオフセットと書き込まれたバイトを追跡することです。次に、メッセージを読み取る必要がある場合はfseek()
、必要なバイトを使用して読み取るだけです。
これはうまくいくと思います...ネットワーク内のすべてのユーザーからのすべてのメッセージを保持するために、1 つのファイルだけを使用できます。同僚が各ユーザーからのメッセージを個別に保存することについてインストラクターに尋ねたので、ファイルシステムに制限があるため、それは最善のアプローチではない可能性があると答えたので、1つのファイルと言っています。だからこそ、私はシングルファイルルートに行くことを考えています。
ただし、これには問題があります...最新の 20 件のメッセージのみを保存する必要があるため、この制限に達すると古いメッセージを破棄する必要があります。
これを行う方法がわかりません...私が知っているのはfread()
、fwrite()
ファイルとの間でバイトを読み書きすることだけです。ファイルオフセットに移動して、「ねえ、次のXバイトを削除してください」と言うにはどうすればよいですか? それができたとしても、別の問題があります...それより下のすべてのオフセットは完全に異なり、問題を解決するにはすべてのユーザーのメールボックスを処理する必要があります。どれが苦痛だろう...
それで、私の問題を解決するための提案はありますか?何を指示してるんですか?
java - Java gzip.read と PHP fread() で異なる結果が得られる
私は Java に行を持っており、番号を取得している間に:
番号から:
PHPで使用したいとき:
戻りながら:
PHPの結果が同じになるようにするにはどうすればよいですか?
c - Cでfopen/fread/fgetsはPIDセーフですか?
さまざまなユーザーが、100% C (CGI) でプログラムされた Web サイトを閲覧しています。各 Web ページは、fopen/fgets/fread を使用して、ファイルから共通データ (ナビゲーション バーなど) を読み取ります。さまざまな人が同じページを閲覧している場合、 fopen/fgets/fread への各呼び出しは互いに干渉しますか? もしそうなら、これは C でどのように解決できますか? (これは Linux サーバーであり、コンパイルは gcc で行われ、これは C でプログラムされた CGI Web サイト用です。)
例:
c - データ構造で fwrite/fread を使用するいくつかの質問
fwrite()
およびを使用fread()
して初めてデータ構造をディスクに書き込みますが、ベスト プラクティスと適切な方法についていくつか質問があります。
ディスクに書き込んでいるのは (後で読み戻せるようにするため)、グラフ構造に挿入されたすべてのユーザー プロファイルです。各グラフ頂点は次のタイプです。
そして、これは私が現在すべてのプロファイルをディスクに書き込んでいる方法です:
ノート:
- 最初
fwrite()
に表示されるグラフには合計ユーザー数が表示されるので、読み返す必要があるデータの量がわかります。 - は
break
テスト用です。何千人ものユーザーがいて、私はまだコードを試しています。
私の質問:
- これを読んだ後
fwrite()
、構造全体を書くのではなく、各要素で使用することにしました。また、そのポインターを保存する必要がないため、ポインターをメールボックスに書き込むことも避けます。それで、これは行く方法ですか?fwrite()
構造全体のグローバルなものではなく、複数の ? 遅くないですか? - このコンテンツを読み返すにはどうすればよいですか? 使用する必要
fread()
があることはわかっていますが、文字列のサイズはわかりません。以前は文字列strlen()
を書いていたからです。文字列を書き込む前にの出力を書き込むことはできますが、strlen()
余分な書き込みを行わないより良い方法はありますか?
php - サーバー応答を読み取る PHP 最速の方法
私が行っているfgets
いくつかのバッチデータベース呼び出しに対するサーバーの応答を取得するために使用することによって生成される遅延に、いくつかの実際の問題があります。
私は、たとえば 10,000 回の呼び出しのバッチを送信しています。各呼び出しの応答を取得する必要があるため、アプリケーションの速度を遅らせる fgets までの遅延を追跡しました。
問題をよく説明しているこのスレッドhttp://bugs.php.net/bug.php?id=32806fread
を見つけましたが、彼はサーバーの応答ではなくファイルを読んでいるので、私が参加できるので少し難しいかもしれません次の行の、そして私が望まない余分なもの。
私の質問は、fgets の代わりにサーバーからの応答を読み取るための最良/最速の方法は何ですか?