- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルをセーブする時のfopenのモードについて)
ファイルをセーブする時のfopenのモードについて
このQ&Aのポイント
- アンケートの投票データをログに保存する方法についての質問です。ファイルを保存する際のfopen関数のモードによって問題が発生しているようです。
- 現在の処理は、1行ずつデータを読み込み、ポストされた番号とデータの番号が一致していればデータを加算し、処理済みの行を一時的に保存し、全ての行の処理が終わったらまとめて保存するという流れです。
- 保存時のfopenモードの選択によって問題が発生しているようで、読み込みモードと書き込みモードのどちらを選択すれば良いかわからない状態です。また、ファイルをロックしながらデータを消す方法についても知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
'r+' 読みこみ・書きこみ用にオープンします。ファイルポインタを ファイルの先頭に置きます。 'w+' 読みこみ・書きこみ用でオープンします。ファイルポインタを ファイルの先頭に置き、ファイルサイズをゼロにします。 ファイルが存在しない場合には、作成を試みます。 マニュアルにはこういう風に書いてあります。r+で追加されるのは、ファイルポインタがデータの最後にあるからで(おそらく、その前にデータを読み込んでいるのでしょう)、w+だと消えるのは仕様です。 r+で読んだあとに、書き込み前にrewindしてください。 参考URLのfopenのマニュアルの下の記述の中に、サンプルがいくつかあると思います。英語だけど、ソースは読めると思うので、rewindを検索してみてください。
お礼
ご回答ありがとうございます。 素晴らしいです。うまくできました。 めっちゃ感激いたしました。 本当に助かりました。ありがとうございます。