Ho realizzato questa funzione in Visual C++ che copia il contenuto di piu files in unico file di uscita. Esempio:
codice:
filebuf *pbuf;
long size;
char * buffer;
fstream f_input1,f_input2,f_output;
f_input1.open("ingresso1.txt",ios::binary | ios::in);
pbuf=f_input1.rdbuf();
size=pbuf->pubseekoff (0,ios::end,ios::in);
pbuf->pubseekpos (0,ios::in);
buffer=new char[size];
pbuf->sgetn (buffer,size);
f_input1.close();
f_output.open("summary.txt",ios::out);
f_output.write(buffer,size);
f_input2.open("ingresso2.txt",ios::binary | ios::in);
pbuf=f_input2.rdbuf();
size=pbuf->pubseekoff (0,ios::end,ios::in);
pbuf->pubseekpos (0,ios::in);
buffer=new char[size];
pbuf->sgetn (buffer,size);
f_input2.close();
f_output.write(buffer,size);
getchar();
f_output.close();
free(buffer);
Come posso fare il viceversa? Ovvero copiare il contenuto di un file unico in + files considerando che ogni file che ottengo in uscita non ha una dimensione fissa ma puó variare di volta in volta!