Salut, je suis sur une appli qui nécessite de parcourir des fichiers avant de les découper pour les envoyer par blocs, et j'ai un petit soucis.
En gros, je veux ouvrir un fichier quelconque (txt, jpg, etc...), lire le fichier par paquet de N caractères, et ensuite faire d'autres traitements qui ne sont pas importants ici.
Voici mon code :
Et pour l'instant, lorsque je teste sur 3 fichiers txt et un fichier jpg (de petite taille), j'ai des incohérences. Un fichier texte semble ne pas s'ouvrir, de même que l'image jpg, et lorsque le fichier est ouvert, ça ne correspond pas toujours au fichier existant...
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 int NbLu; char buffer[TAILLEBLOC]; FILE *fp = fopen (nomFichier, "r"); if (fp != NULL) { int num = 0; // on lit par paquet de TAILLEBLOC caracteres while( (NbLu = fread(buffer, sizeof(char), TAILLEBLOC, fp)) != 0 ) { buffer[NbLu] = '\0'; printf("%s\n", buffer); /* traitement */ } } fclose(fp);
J'ai mal fait quelque chose ?
Au passage, pourrait-on me dire s'il serait intelligent (ou pas) d'ouvrir en mode binaire ? Quelle différence ça ferait ?
Merci d'avance !
Partager