所以这是我的代码,但我不知道如何将新文件的名称翻译成原始文件的名称。 #include
int main(int argc, char *argv[]){
string text;
ifstream orig;
reverse(name[0],name[name.size()]);
orig.open(argv[1], ios::binary);
char *c = new char[1];
if(orig) {
orig.seekg(0, orig.end);
int length = orig.tellg();
orig.seekg(0, orig.beg);
}
while(orig.read(c,1)) text += c;
std::reverse(text.begin(), text.end());
ofstream reverse("copy.dat");
reverse << text;
orig.close();
reverse.close();
return 0;
}
答案 0 :(得分:0)
分配单个char
数组而不是仅仅使用自动数组是浪费,忘记delete
它会导致内存泄漏,但与O(N2)复杂度相比,效率极低。主循环。
您应该分配获取文件大小,分配所述大小的char
数组,并在一次调用read
中读取它。