Aşağıdaki kodum var ve oldukça iyi çalışıyor (oldukça yavaş olduğu gerçeğinden başka, ama bununla ilgili pek umurumda değil). Bu, sezginin tüm içeriğini dış dosyaya yazacak kadar sezgisel görünmüyor.ifstream :: rdbuf() aslında ne yapar?
// Returns 1 if failed and 0 if successful
int WriteFileContentsToNewFile(string inFilename, string outFilename)
{
ifstream infile(inFilename.c_str(), ios::binary);
ofstream outfile(outFilename.c_str(), ios::binary);
if(infile.is_open() && outfile.is_open() && infile.good() && outfile.good())
{
outfile << infile.rdbuf();
outfile.close();
infile.close();
}
else
return 1;
return 0;
}
Herhangi bir fikir?
Bu açık çağrıları, 'close()' gerektirmezse ekleyebilirim. Yıkıcılar yine de aynısını yapardı. Ve bu da bazı satırları kaydeder. ;) –