Soyez le premier à donner votre avis sur cette source.
Snippet vu 17 719 fois - Téléchargée 39 fois
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, char *argv[]) { //declaration des flux FILE *fds, *fdd; int value; fds = fopen(argv[1], "r"); //ouverture en lecture seule fdd = fopen(argv[2], "w"); //ouverture en ecriture if(!(fds && fdd)) //si l'ouverture des fichiers echoue, arret du programme { exit(0); } while(!feof(fds)) //tant que je suis pas a la fin du fichier d'entree { value = fgetc(fds); //recupere caractere par carectere du fichier d'entree, et rangement dans value if (value == EOF) //Si je suis a la fin du fichier (d'entree) j'arrete le programme { exit(0); } value = fputc(value, fdd); //je copie les caractere dans le fichier de sortie if(value == EOF) //Si je suis a la fin du fichier de sortie donc c'est une erreur, alors j'arrete le programme en affichant un message d'erreur { fprintf(stderr, "\nProbleme d'ecriture\n"); exit(-1); } } //J'ai terminer de copier donc je ferme tous les flux fclose(fds); fclose(fdd); return 0; }
Voilà une atténuante pour HIBAO.
voici un code en java il est aussi tres lent mais il marche
import java.io.*;
public void copier(String chemin_copie) throws Exception{
BufferedReader buffer_r = null;
FileReader file = null;
FileWriter file_copie = null;
BufferedWriter buffer_w = null;
try {
file = new FileReader(this.chemin);
buffer_r = new BufferedReader(file);
file_copie = new FileWriter(chemin_copie);
buffer_w = new BufferedWriter(file_copie);
}
catch (FileNotFoundException excp) {System.out.println("Fichier d'entree introuvable");}
catch (IOException excp) {System.out.println("Fichier de sortie introuvable");}
String ch = null;
do {
try {
ch = buffer_r.readLine();
if (ch != null) {
buffer_w.write(ch);
buffer_w.newLine();
}
}
catch (IOException excp) {System.out.println(excp + " : Probleme copie");}
} while(ch!=null);
buffer_w.close();
}
le exit(0) et exit(-1) te fait terminer le prog sans avoir fermé les flux.
en plus c'est du C.
#include <stdio.h>
void main(void)
{
FILE *streamOut;
FILE *streamIn;
streamOut = fopen("file.fic", "wt");
streamIn = fopen("file_copy.fic", "rt");
char buffer[1024];
int bytesRead;
do
{
bytesRead = fread(buffer, 1, 1024, streamIn);
fwrite(buffer, 1, bytesRead, streamOut);
}
while(bytesRead==1024);
fclose(streamOut);
fclose(streamIn);
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.