問題タブ [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 投票する
3 に答える
3579 参照

c - 同じファイル記述子に対して 2 つのスレッドから fwrite と fclose を並列に呼び出すことはできますか?

fwrite&fcloseが同じファイル記述子に対して 2 つのスレッドから並行して呼び出されるとどうなりますか?

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

c - fwrite がハングする原因は何ですか?

私のコードは、次のスタックで fwrite をぶら下げています:

これはsolarisで起こっているようです。

私が考えることができる唯一の間違ったことは、私のコードが fwrite を実行するために使用されるのと同じ FILE ポインターで並列 fclose を実行しようとする可能性があることです。並列 fclose が発生した場合、この種のスタックにつながりますか?

しかし、並列 fclose 呼び出しが実際に行われたかどうかはわかりません。

ここで何が問題になる可能性がありますか?

0 投票する
0 に答える
403 参照

c - 書き込むバイト数だけで十分なのに、なぜ fwrite にサイズとカウントの両方のパラメーターがあるのですか?

重複の可能性:
fread/fwrite がサイズとカウントを引数として取る理由は何ですか?

C では、fwrite と fread は、書き込む要素の数と各要素のサイズの両方を取ります。書き込むバイト数は単純に要素のサイズ倍に等しいため、書き込む必要があるバイト数を示すパラメータがあれば、より明白で一般的なように思えます。これらの機能の設計には正当な理由があるのでしょうか、それともその理由は古代に失われたのでしょうか?

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

atomic - メモリ マップされたファイルと単一ブロックのアトミック書き込み

通常の IO API を使用して 1 つのファイルを読み書きすると、書き込みはブロック単位でアトミックであることが保証されます。つまり、私の書き込みが 1 つのブロックのみを変更する場合、オペレーティング システムは、ブロック全体が書き込まれるか、まったく書き込まれないことを保証します。

メモリ マップト ファイルで同じ効果を得るにはどうすればよいですか?

メモリ マップされたファイルは単なるバイト配列であるため、バイト配列を変更すると、オペレーティング システムはいつ書き込みが「完了」したと見なされるかを知る方法がないため、(可能性が低いとしても) メモリをスワップ アウトする可能性があります。ブロック書き込み操作の途中で、実際には半分のブロックを書き込みます。

ある種の「クリティカル セクションに入る/残す」、または書き込み中にファイルのページをメモリに「固定」する方法が必要です。そのようなものは存在しますか?もしそうなら、それは一般的なPOSIXシステムとWindowsで移植可能ですか?

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

php - PHP fwrite でサーバーが 0640 パーミッションで新しいファイルを作成し続けるのはなぜですか?

シンプルfopen("w")fwriteセットアップを使用して、サーバーに新しいファイルを書き込みます。最近、これらのファイルに勝手に 0640 パーミッションが割り当てられています。つまり、ブラウザからそれらを表示することはできません。しかし、それは毎回起こっているわけではありません。理由を教えてもらえますか?ここで何が欠けていますか?これが私のコードです:

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

php - mysqlのINTO OUTFILEを使わずにmysqlからcsvへ

mysql から列見出し付きの csv ファイルにデータをエクスポートする必要がありますが、サーバーに対するファイル権限がありません。それを行う他の方法はありますか?つまり、php fwriteを使用していますか?またはfputcsv?

どんな助けも大いに感謝します。

ありがとう。

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

c - データをテキストまたはバイナリとして書き込む単一のC関数

テキストファイルにデータを書き込むC関数があります。データは、float、int、および文字列で構成されています。次のようになります。

これを行うために、fprintfへの呼び出しを使用します。

ここで、同じデータをバイナリとして書き込みたいと思います。2番目の関数writeAsBinaryFileを記述し、代わりにfwriteの呼び出しを使用できます。ただし、mystruct_tのデザインを変更するたびに、writeAsTextFileとwriteAsBinaryFileの両方を変更する必要があります。そしてもちろん、対応するreadAsTextFileとreadAsBinaryFile。これに加えて、これによりコードサイズが増加します。したがって、次のような1つのbin-or-text引数を持つ1つのジェネリック関数が必要です。

ここで、オプションは列挙型eBin=0およびeTxt=1などです。eOptionに応じて、関数はバイナリデータまたはテキストデータを書き込みます。

これを達成するための最良の方法が何であるかはわかりません。テキストとしての書き込みにもfwriteを使用する必要がありますか、マクロを使用する必要がありますか?(どこかで##ディレクティブの使用を見たことがありますが、使用したことはありません)、またはファイルに書き込む必要があるすべての場所でswitch / ifsステートメントを使用しますか?または、次のようなジェネリック関数を記述しますか myWriteFunction( void *data, char const type, myEnumType_t eOption)

それはwriteToFileによって呼び出されますか?

私はfread/fwriteとマクロの使用にあまり慣れていないので、ベストプラクティスのコメント、アイデアなどを歓迎します。

ありがとう

馬場

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

php - fwriteは一線を画しません

私はこれを書いています:

それを期待して

しかし、私は得ています

これを修正するにはどうすればよいですか?

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

php - PHPでテキストファイルに書き込むときに改行が機能しない

次のテストスクリプトがあります。

ただし、メモ帳を使用して実行して開くと、データは次のように改行なしで 1 行で返されます。

フロッピージャロピー(クレイジーボックス)ポインティピント(クレイジーボックス)

「クレイジーボックス」の適切なキャラクターを見つけることができませんが、それは本当にクレイジーボックスです. 何を与える!

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

php - fwrite php の問題

PHPでfwriteを使用しているときに問題が発生しています。次のコードはローカル コンピューターでは機能しますが、サーバーでエラーが発生します。

fsockopen でエラーはありません。合格し、エラーは発生しません。fwrite が書き込めません。失敗し、エラーは返されず、false のみが返されます