probleme d'ouverture et de lecture de fichiers
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 :
Code:
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); |
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...
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 !