Salut mes amis,je rencontre un grand problème dans mon projet de fin d'année à la Faculté et j'aimerais le partager avec vous afin de trouver une solution adéquate.
Comment dois je faire pour modifier et déplacer un fichier en langage C?
Salut mes amis,je rencontre un grand problème dans mon projet de fin d'année à la Faculté et j'aimerais le partager avec vous afin de trouver une solution adéquate.
Comment dois je faire pour modifier et déplacer un fichier en langage C?
Salut mon ami, comme ton ecriture est jolie
Il ya la fonction rename qui est ANSI C donc portable
http://man.developpez.com/man2/rename.2.php
Hello,
Gruik t'a donné la réponse pour le déplacement/chgt de nom. Il reste la modification en amont. Tu peux d'abord modifier le fichier en l'ouvrant en mise à jour puis le déplacer, ce qui parait simple à première vue.Envoyé par Andyforges
Ceci dit, si le traitement est plus complexe (exple: insérer un cartouche d'entête sans perdre le contenu existant), cela devient beaucoup plus compliqué. Je suggère donc de créer d'abord le fichier à l'emplacement final puis faire un traitement/recopie depuis le fichier original en lecture, ...et puis seulement à la fin enlever le fichier original avec remove().
Exple de déplacement de fichier avec enlèvement des digits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #include <stdlib.h> #include <stdio.h> #include <ctype.h> int main(void) { FILE * f_src = NULL; FILE * f_dst = NULL; int c; f_src = fopen("C:/old.txt", "r"); if (!f_src) { fprintf(stderr, "Cannot open the source file !\n"); exit(EXIT_FAILURE); } f_dst = fopen("C:/Program Files/new.txt", "w"); if (!f_dst) { fprintf(stderr, "Cannot open the destination file !\n"); exit(EXIT_FAILURE); } /* Exple de traitement-copie ... */ while( (c = fgetc(f_src)) != EOF) { if (!isdigit(c)) { fputc(c, f_dst); } } fclose(f_dst); fclose(f_src); if ( remove("C:/old.txt") ) { fprintf(stderr, "Cannot remove the source file !\n"); exit(EXIT_FAILURE); } else { puts("OK, job done ;-)"); } return 0; }
A+
Partager