bonjour j'ai un problème comme d'habitude mais la c'est bizzard je veux juste afficher le contenu d'un fichier .txt mais cela maffiche que les 8 premiers octets!
voila mon code :
entree = fopen (fichier, "r");
if (entree == NULL){
addlog("impossible d'ouvrire le fichier",1);
}
while (1) {
fscanf (entree , "%c", &mot);
if (feof (entree)){
sleep(300);
printf("\n Fini!");
break;
} else {
printf("%c", mot);
}
je nne vois pas de problème à première lecture, mais :
if (entree == NULL){
addlog("impossible d'ouvrire le fichier",1);
}
tu devrais ajouter un return ERR, ou un exit(0); ou un truc du genre...
de plus, tu ne fais pas de vérification sur close,
et ton fichier doit comporter au minimum un octet pour que ça marche...
In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy
Mon site (articles sur la programmation et programmes)
sebastienmz> Réponse acceptée sert à indiquer qu'un message précis t'a aidé a résoudre ton problème (afin de faciliter les recherches par la suite aux gens qui ont le mêm problème).
On perd tout l'intérêt de ce système si tu accepte toutes les réponses
Xenul >> Peut importe le cas, il est toujours mieu de tout lire
d'un coup et d'effectuer les traitements, modification etc. dans le
buffer directement (ou par sections si le fichier est trop gros) et, si
besoin, remettre dans le fichier.
Vous serai s'en doute tous d'accord pour dire qu'il est beaucoup plus rapide de se déplacer en mémoire que de déplacer la tête de lecture/écriture du disque et on évite aussi bien des opérations inutiles.
Évidament, pour un fichier de 5 ou 6 octects, on s'en passera
bien mais je n'est jamais vue un fichier si petit.