• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シリアライズ関数でのReadStringは読み直しができない?)

シリアライズ関数でのReadStringは読み直しができない?

このQ&Aのポイント
  • VC++6.0でMFCを使ってのCSVファイル入力を検討しています。シリアライズ関数内でReadStringを使って1行づつ入力しているのですが、ファイル終端に達した後の処理として、もう一度ファイル先頭から読み直しをしたいのですが、うまくいきません。
  • ファイルポインタを戻してから入力する方法や新たなArchiveオブジェクトを作って使う方法を試しましたが、どちらもうまくいきません。
  • ReadString関数では読み直しができない可能性があります。別の方法を使用するか、ファイルの内容を一度別の変数やデータ構造に格納してから再利用することを検討してください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

共有違反はCDocuemntクラスのOnOpenDocument関数で CFile::shareDenyWriteで開いているためだと思われます Serializeの引数 arかCFileオブジェクトを取得してこのファイルオブジェクトを操作してからCArchiveを再構築するといった手順でしょう CFile* pFile = ar.GetFile(); pFile->SeekToBegin(); CArchive arc( pFile, CARchive::load ); arc.ReadString( line ); arc.Close(); といった具合です

morse
質問者

お礼

判りました、 新たに作るのは、CArchiveオブジェクトだけで良かったのですね。 おかげさまで解決しました。ありがとうございました。m(_ _)m

関連するQ&A