Copia di file [C]
Salve a tutti,
sto scrivendo un programma in C e ho bisogno di copiare il contenuto di un file dentro un altro file; ho provato con
system("cat file1 > file2") ma quando il programma esegue e arriva là mi dice No such file or directory!
Spero che possiate aiutarmi!
Grazie in anticipo
Valentina
sto scrivendo un programma in C e ho bisogno di copiare il contenuto di un file dentro un altro file; ho provato con
system("cat file1 > file2") ma quando il programma esegue e arriva là mi dice No such file or directory!
Spero che possiate aiutarmi!
Grazie in anticipo
Valentina
Risposte
Non ti interessa minimamente la portabilità?
Se si, allora usa pure la chiamata a system() con cat all'interno; specifica il path assoluto magari
Se si, allora usa pure la chiamata a system() con cat all'interno; specifica il path assoluto magari
La copia di un file è una operazione abbastanza semplice. E' infatti sufficiente aprire i due file in modalità binaria (uno in scrittura e l'altro in lettura) e poi fare un ciclo in cui leggi il contenuto di uno e lo scrivi nell'altro. Non è insomma necessario fare ricorso a system, precludendosi così la possibilità di portare il codice su altri sistemi.
Ho fatto anche questo:
era questo che intendevi, apatriarca? se sì, facendo così mi escono una sfilza di errori orribili che non sono riuscita a mandare via in alcun modo!!
for (j=0; j<n; j++) { fscanf(Fp, “%lf %lf”, &c, &d); fprintf(Fp2, “%f %f\n”, c, d); }
era questo che intendevi, apatriarca? se sì, facendo così mi escono una sfilza di errori orribili che non sono riuscita a mandare via in alcun modo!!

Usa fread e fwrite ed assicurati di aver aperto i file in modalità binaria.
Ma perché vanno aperti in modalità binaria? Perché non va bene aprire semplicemente (es. in modalità scrittura) con
Fp = fopen("file.dat","w"); ?
Fp = fopen("file.dat","w"); ?
Perché la modalità di scrittura testuale converte alcuni caratteri quando legge e scrive nel file.
va bene. proverò ad aprire in forma binaria e vi farò sapere, intanto grazie!