kar*_*ari 2 c++ windows visual-c++
我正在使用Visual C++.如何将此文件的内容复制到另一个文件?
UINT32 writeToLog(wstring log)
{
wfstream file1 (LOG_FILE_NAME, ios_base::out);
file1 << log;
file1.close();
// want to copy file1 to file2
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Joe*_*oeG 11
你究竟想做什么?如果您需要数据的副本,可以将其读入并再次将其写回.如果您确实需要该文件的副本,则必须使用特定于操作系统的调用.
在许多情况下,读取文件数据然后将其再次写入不同的文件是一个足够接近副本 - 如下所示:
ifstream file1(...);
ofstream file2(...);
std::copy(istream_iterator<char>(file1),istream_iterator<char>(),ostream_iterator<char>(file2));
Run Code Online (Sandbox Code Playgroud)
然而,这确实不是一个副本 - 它正在创建一个具有相同内容的新文件.它将无法正确处理硬链接或符号链接,它将无法正确处理元数据,它只会"复制" 默认文件流.
如果您需要Windows上的文件副本,则应根据您的具体要求调用CopyFile,CopyFileEx或CopyFileTransacted之一.
| 归档时间: |
|
| 查看次数: |
5629 次 |
| 最近记录: |