将文件复制到另一个目录不起作用

Copying file to another directory does not work

本文关键字:不起作用 另一个 文件 复制      更新时间:2023-10-16

我从一个网站获得了以下代码,该网站将一个文件复制到另一个文件,它编译并运行,但输出文件的内容没有改变。 有人可以指出问题出在哪里吗? 我正在使用dev c ++ IDE(编辑:可能使用mingw)。

#include <fstream>
#include <string>
#include <stdio.h>
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
int main(){
CopyFile("C:\Users\KEVIN\Documents\c++\t.txt","C:\Users\KEVIN\Documents\c++\output.txt",false);
system("pause");
return 0;   
}

编辑

这不再是C++问题。 Windows保护特殊文件夹,如C:C:windows等。您要么需要以管理员身份运行程序,要么只需在C:创建一个临时文件夹即可访问它。

下面的代码具有未定义的行为,它创建 fileSize/2 内存块,但尝试使用 fileSize 读取/写入,它超出了界限。

short * buffer = new short[fileSize/2];
initialFile.read((char*)buffer, fileSize);

要修复:

short * buffer = new short[fileSize];

我想接受JerryCoffin的想法,只是使用Windows CopyFile功能。

相关文章: