1)CopyFile()でコピーしたいファイルを一時的にテンポラリ領域に移動
2)その後テンポラリ領域にコピーしたファイルをCopyFile()でもとの位置に戻す
ということをしたいんですけど、1)での移動先をメモリ上の領域を指定することって
できないでしょうか。もしくはより処理が軽くなる方法はないでしょうか。
ファイルサイズが1GB近くなのでなるべく処理を軽くしたいのです。
BOOL CopyFile
(
LPCTSTR lpExistingFileName, // 既存のファイルの名前
LPCTSTR lpNewFileName, // 新しいファイルの名前
BOOL bFailIfExists // ファイルが存在する場合の動作
)
#ソースとデストの指定はあくまでパスのみということで、ファイル内容をReadFileで読
み取ってそれをメモリに移動ってのはなしの方向です
>1)での移動先をメモリ上の領域を指定することってできないでしょうか。
無理です。
>もしくはより処理が軽くなる方法はないでしょうか。
作業域にファイルを作って複写するのではなく、初めから目的の位置にファイルを作成
する方が速いと思います。
「編集」に対応するなら、適当な名前で作業ファイルを作成し、ファイルが完成したら
元ファイルを削除して、作業ファイルの名前を元ファイルの名前にリネームするとか。
レスありがとうございます。
>無理です。
やはり無理ですか。ありがとうございます。
>「編集」に対応するなら、適当な名前で作業ファイルを作成し、ファイルが完成したら
>元ファイルを削除して、作業ファイルの名前を元ファイルの名前にリネームするとか。
これでいきます。ありがとうございました。