通知
すべてクリア
Topic starter
2009年9月30日 3:41 PM
またまたお願いします。
4GB以上のファイルのタイムスタンプ変更について質問です。
以下のように4GB以上ファイルのタイムスタンプを変更すると、アサートが発生してしまいます。
CFileStatus cFileStatusDest;
CFile::GetStatus(ファイルパス, cFileStatusDest); ←ここでアサート発生
cFileStatusDest.m_atime = ”変更する日付”;
cFileStatusDest.m_ctime = ”変更する日付”;
cFileStatusDest.m_mtime = ”変更する日付”;
CFile::SetStatus(ファイルパス, cFileStatusDest);
原因はCFileStatusのm_sizeがLONG型のためだと思われます。
※環境がVC2003のため
CFileStatusを使用しない方法で、ファイルのタイムスタンプ変更方法をご教授願います。
2009年9月30日 4:00 PM
つSetFileTime
http://msdn.microsoft.com/ja-jp/library/cc429940.aspx
おまけ
SystemTimeToFileTime
http://msdn.microsoft.com/ja-jp/library/cc429961.aspx
ちなみに、デバッグでCFile::SetStatusにステップインすればわかることです。
Topic starter
2009年9月30日 5:43 PM
ありがとうございます。