Bonjour à tous,
J'essaie de copier un fichier avec fopen(). J'ai donc utilisé le code source de la faq:
http://c.developpez.com/faq/?page=fi...ICHIERS_copier
Je l'ai un peu modifier pour que ça donne ceci:
Et je l'utilise comme ceci:
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 int CopyAFile(char const * const source, char const * const destination) { FILE* fSrc = NULL; FILE* fDest = NULL; char buffer[512]; int NbLu; if ((fSrc = fopen(source, "rb")) == NULL) { printf("Cannot open source file: %s\n", source); exit(1); } if ((fDest = fopen(destination, "wb")) == NULL) { printf("Cannot open dstination file: %s\n", destination); fclose(fSrc); exit(1); } while ((NbLu=fread(buffer, 1, 512, fSrc)) != 0) fwrite(buffer, 1, NbLu, fDest); fclose(fDest); fclose(fSrc); return 0; }
Printf me renvoie bien les bon chemins, sans les doubles antislash, mais la fonction CopyAFile echoue sur le premier fopen().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CHAR SourceFile[450+1] = "C:\\BETtest\\test.xml"; printf("\nSourceFile: %s\n", SourceFile); CHAR DestinationFile[450+1] = "C:\\BETest\\test\\test.xml"; printf("\nDestinationFile: %s\n\n", DestinationFile); CopyAFile(SourceFile, DestinationFile);
Il y a moyen de savoir pourquoi il ne peut pas ouvrir le fichier? Il existe bien, et il n'est pas verrouillé.
D'avance merci
Ps: Le but est de pouvoir par la suite copier un fichier à partir d'un snapshot, avec un chemin du genre \?\\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Documents and Settings\blabla\monfichierverrouillé
Apparemment, la fonction CopyFile() des lib Crosoft n'aime pas trop ce genre de path...






Répondre avec citation






Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.




Partager