問題タブ [fwrite]

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 投票する
1 に答える
567 参照

iphone - NSOperation と fwrite (Iphone)

このコードに問題があります。基本的に、タイマー関数から fwrite を非同期で実行したいと考えています。

ここに私の Timer 関数のコード ブロックがあります。(これは 0.2 秒ごとにタイマーによって呼び出されます。

WrtiteFilerOperation は、渡すバッファをファイルに書き込む必要がある NSoperation クラスです。このコードを WriteFileOperation の「開始」メソッドに追加しました。

ここでの問題は、バッファーをファイルに書き込むまで NSOperation によってブロックされた timerFunction です (開始メソッドが実行を終了するまでブロックされることを意味します)。

startメソッドの実行が完了するのを待たずにtimerFunctionに戻りたいです。

ここで何が間違っていますか?

前もって感謝します

ラグー

0 投票する
5 に答える
483 参照

php - PHPでファイルに情報を保存する

追跡システムを書きたいのですが、Mysql データベースに保存できるようになりました。しかし、アクセスする各 IP に関する情報を保存することは、mysql にとって大きな作業です。

ですから、情報をファイルに保存できれば、データベースとその問題についての議論はありません。

しかし、これを始めるには:問題なく読み取って詳細を表示できる方法でファイルに保存する方法が本当にわかりません

ファイルに保存した後、行内のすべての IP に関する情報を表示する必要があります

保存して行順に表示するにはどうすればよいですか ( 表 )

php/mysql

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

php - ファイル カウンターが 1 ではなく 2 を追加

簡単なカウンターを作りましたが、1 ではなく 2 ずつ増えていきます。

ファイルを読み取るたびに、1 ではなく 2 ずつインクリメントされます。

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

c - ファイル I/O (メッセージ文字列の読み取り/書き込み) に関する多くの質問

私が行っているこの大学のプロジェクト (過去にいくつか投稿したことがあります) は、ある種のソーシャル ネットワークであり、ユーザーがメッセージを交換する機能が必要です。

最初に、すべてのメッセージをリンク リストに保持するようにデータ構造を設計し、メッセージ サイズを 256 文字に制限しました。ただし、メッセージをディスクに保存し、必要なときにのみ読む方が、講師の好みになると思います。もちろん、彼らは彼らが何を好むかは言いません。

覚えておくべきことの 1 つは、各ユーザーからの最新の 20 件のメッセージを保存するだけでよく、それ以上保存する必要はないということです。

現在、受信トレイとして機能するハッシュ テーブルがあり、これはユーザー プロファイル内にあります。このハッシュ テーブルは、名前 (メッセージを送信したユーザー) によってインデックスが作成されます。各要素の値は、20 個のsize_t要素 (上で述べたように 20 個のメッセージ) の配列を保持するデータ構造になります。アイデアは、ディスク ファイルのオフセットと書き込まれたバイトを追跡することです。次に、メッセージを読み取る必要がある場合はfseek()、必要なバイトを使用して読み取るだけです。

これはうまくいくと思います...ネットワーク内のすべてのユーザーからのすべてのメッセージを保持するために、1 つのファイルだけを使用できます。同僚が各ユーザーからのメッセージを個別に保存することについてインストラクターに尋ねたので、ファイルシステムに制限があるため、それは最善のアプローチではない可能性があると答えたので、1つのファイルと言っています。だからこそ、私はシングルファイルルートに行くことを考えています。

ただし、これには問題があります...最新の 20 件のメッセージのみを保存する必要があるため、この制限に達すると古いメッセージを破棄する必要があります。

これを行う方法がわかりません...私が知っているのはfread()fwrite()ファイルとの間でバイトを読み書きすることだけです。ファイルオフセットに移動して、「ねえ、次のXバイトを削除してください」と言うにはどうすればよいですか? それができたとしても、別の問題があります...それより下のすべてのオフセットは完全に異なり、問題を解決するにはすべてのユーザーのメールボックスを処理する必要があります。どれが苦痛だろう...

それで、私の問題を解決するための提案はありますか?何を指示してるんですか?

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

c - オフセット Y の X バイトを fwrite() で上書きするにはどうすればよいですか?

C で fopen() と fwrite() を使用して見つけることができるのは、すべてのコンテンツを削除して書き込みを再開するか、ファイルの末尾に追加することだけです。ファイル内のあるオフセットに移動し、数バイトを上書きする必要がある場合はどうすればよいですか?

それはいくつかの機能で可能ですか?

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

c - データ構造で fwrite/fread を使用するいくつかの質問

fwrite()およびを使用fread()して初めてデータ構造をディスクに書き込みますが、ベスト プラクティスと適切な方法についていくつか質問があります。

ディスクに書き込んでいるのは (後で読み戻せるようにするため)、グラフ構造に挿入されたすべてのユーザー プロファイルです。各グラフ頂点は次のタイプです。

そして、これは私が現在すべてのプロファイルをディスクに書き込んでいる方法です:

ノート:

  • 最初fwrite()に表示されるグラフには合計ユーザー数が表示されるので、読み返す必要があるデータの量がわかります。
  • breakテスト用です。何千人ものユーザーがいて、私はまだコードを試しています。

私の質問:

  • これを読んだ後fwrite()、構造全体を書くのではなく、各要素で使用することにしました。また、そのポインターを保存する必要がないため、ポインターをメールボックスに書き込むことも避けます。それで、これは行く方法ですか?fwrite()構造全体のグローバルなものではなく、複数の ? 遅くないですか?
  • このコンテンツを読み返すにはどうすればよいですか? 使用する必要fread()があることはわかっていますが、文字列のサイズはわかりません。以前は文字列strlen()を書いていたからです。文字列を書き込む前にの出力を書き込むことはできますが、strlen()余分な書き込みを行わないより良い方法はありますか?
0 投票する
3 に答える
38274 参照

c - fwrite 整数を書き込む

この関数を使用してファイルに単語を書き込もうとしています:

しかし、fwrite を実行しようとするたびに、セグメンテーション違反が発生します。fwrite(3) の man ページを見たところ、正しく使用できたように感じました。足りないものはありますか?

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

php - ファイルを開いて最後の行を削除するにはどうすればよいですか?

ファイルを開いて、ファイルの最後の行を取得します。ここで、行= "?>"であり、これはphpドキュメントの終了タグです。データを追加して、最後の行の「?>」に追加し直したいのですが。

私はいくつかのアプローチを試みてきましたが、運がありません。

zipファイルから読んでいるので、これまでに得たものは次のとおりです。私はこれがすべて間違っていることを知っていますが、これについて助けが必要なだけです...

$curr_lang_fileは、fstreamを追加する必要がある実際のファイルへのファイルパス文字列ですが、「?>」に等しい最後の行を削除した後です。

さて、私は実際にいくつかの変更を加えました、そしてそれはうまくいくようです、しかしそれは今そこにデータを2回コピーします... arggg、それでファイルの各行は今そこに2回あります:(

OK、fwriteを削除しましたが、現在は下部の?>のすぐ下に追加しています。

OMG、私は最後の行まですべてが必要です、これを行う方法はありませんか?「?>」はいらない

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

php - PHPスクリプトがコマンドラインまたはタスクスケジューラを介してサーバー2008にファイルを書き込めないのはなぜですか?

serverfault.comで質問を作成しましたが、ここで質問することをお勧めします。

https://serverfault.com/questions/140669/why-cant-php-script-write-a-file-on-server-2008-via-command-line-or-task-schedul

PHPスクリプトがあります。ブラウザを使用するとうまく動作します。同じディレクトリにXMLファイルを書き込みます。スクリプトの実行には最大60秒かかり、結果のXMLファイルは最大16MBになります。

WindowsServerWebエディションSP164ビットでFastCGIを介してPHP5.2.13を実行しています。

このコードは、SQLサーバーからインベントリを取得し、ループを実行してサードパーティのXMLファイルを作成します。

タスクスケジューラでc:\ php5 \ php.exe "D:\ inetpub \ tools\build.php"を実行するタスクを作成しました

タスクスケジューラは、約1分の時間経過を示します。これは、スクリプトがブラウザで実行されるのにかかる時間です。

エラーは返されませんが、ファイルは作成されません。

スケジュールされたタスクのプロパティを変更するたびに、ユーザーパスワードボックスが表示され、管理者アカウントのパスワードを入力します。

これと同じパスと引数をコマンドラインで実行しても、エラーは発生せず、ファイルも作成されません。

管理者として実行コマンドプロンプトを右クリックしても、ファイルは作成されません。ファイル作成後のエコーステートメント「filepublished」が表示され、エラーは返されません。

単純なfopenfwritefcloseを実行して、php変数の内容を.xmlファイルに保存しています。ファイルは、スクリプトがブラウザーで実行された場合にのみ作成されます。

xml-buildingループの後に何が起こるかは次のとおりです。

$feedContent .= "</feed>";

ありがとう

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

php - txtファイルにfwrite

私は現在、PHPを使用してtxtファイルに書き込もうとしていますが、次の小さなスクリプトを見つけました。

成功メッセージが表示されますが、ファイルに何も書き込まれません。txtファイルを削除しても、成功メッセージが表示されます

誰かがこのような状況をトラブルシューティングする方法を知っていますか?