#include <stdio.h>
#include <stdlib.h>
#include <errno.h> /* Pour la variable systeme "errno" */
#include <string.h> /* Pour strerror */
/* Pour stat */
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
void remplacer(char * s, int l, char c1, char c2) {
int i;
for(i = 0; i < l; i++)
if(s[i] == c1) s[i] = c2;
}
int main(int argc, char * argv[]) {
FILE * f1, * f2;
struct stat buf;
char * txt = NULL;
if(argc != 3) {
fprintf(stderr, "usage : %s src_file dst_file\n", argv[0]);
exit(1);
}
if( (f1 = fopen(argv[1], "r")) == NULL) {
fprintf(stderr, "Impossible d'ouvrir le fichier %s\nErreur %d : %s\n",
argv[1], errno, strerror(errno));
exit(2);
}
if( (f2 = fopen(argv[2], "w")) == NULL) {
fprintf(stderr, "Impossible d'ouvrir (ou creer) le fichier %s\nErreur %d : %s\n",
argv[2], errno, strerror(errno));
exit(3);
}
stat(argv[1], &buf);
txt = malloc((int)(buf.st_size) * sizeof txt[0]);
fread(txt, 1, buf.st_size, f1);
remplacer(txt, buf.st_size, ' ', '\n');
fwrite(txt, 1, buf.st_size, f2);
fclose(f1);
fclose(f2);
return 0;
}
|
|