私の関数はcopy2です。cplusplus.comで関数copy1を見つけました。copy2を使用していて問題がありますが、copy1は問題ありません。copy2は、テスト用のファイルmp3のatist、titleなどに関する情報を失います。なぜわからないのですか?
#include <fstream>
#include <iostream>
using namespace std;
void copy1()
{
char * buffer;
long size;
ifstream infile ("Test.mp3",ifstream::binary);
ofstream outfile ("Test2.mp3",ofstream::binary);
// get size of file
infile.seekg(0,ifstream::end);
size=infile.tellg();
infile.seekg(0);
// allocate memory for file content
buffer = new char [size];
// read content of infile
infile.read (buffer,size);
// write to outfile
outfile.write (buffer,size);
// release dynamically-allocated memory
delete[] buffer;
cout<<"xong";
outfile.close();
infile.close();
return ;
}
void copy2(){
ifstream infile ("Test.mp3",ios::binary);
ofstream outfile ("Test1.mp3",ios::binary);
char c;
while(!infile.eof())
{
infile.get(c);
outfile.put(c);
}
}
int main () {
copy2();
}