试图反转文件的内容并将文件的名称反转为新文件?

时间:2015-11-29 21:23:52

标签: c++ binary reverse fstream ifstream

所以这是我的代码,但我不知道如何将新文件的名称翻译成原始文件的名称。     #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;
}

1 个答案:

答案 0 :(得分:0)

分配单个char数组而不是仅仅使用自动数组是浪费,忘记delete它会导致内存泄漏,但与O(N2)复杂度相比,效率极低。主循环。

您应该分配获取文件大小,分配所述大小的char数组,并在一次调用read中读取它。