Ciao a tutti. Ho scritto un codice per copiare un file binario ma mi da un errore. Ecco il codice:
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream ingr;
ofstream usc;
ingr.open("source.txt", ios::in|ios::binary);
usc.open("destination.txt", ios::out|ios::binary);
if((ingr.fail()==true)|(usc.fail()==true)){
return -1;
}
char app[100];
int letti = ingr.read(app,128);
if(ingr.bad()==true) return -1;
while(ingr.eof()==false){
usc.write(app,letti);
if(ingr.bad()==true) return -1;
letti = ingr.read(app,128);
if(ingr.bad()==true) return -1;
}
usc.write(app,letti);
if(usc.bad()==true) return -1;
ingr.close();
usc.close();
return 0;
}
L'errore è in questa riga:
int letti = ingr.read(app,128);
g++ -Wall -o "copia file" "copia file.cpp" (nella cartella: /home/paolo/C++/iostream e stringhe)
copia file.cpp: In function ‘int main()’:
copia file.cpp:15:31: error: invalid conversion from ‘void*’ to ‘int’ [-fpermissive]
copia file.cpp:20:31: error: invalid conversion from ‘void*’ to ‘int’ [-fpermissive]
Compilazione fallita.
Sul computer a scuola con windows il codice funzionava. Invece sul mio pc con ubuntu mi dà errore. Potrebbe essere per questo???
Grazie mille.
|