1

FILE *f;
char buf[40];

ClrScr();
f=fopen("main\hhhh","rt");
if (f==NULL) {
printf("Erreur");
}else{
fseek(f,91,SEEK_SET);
fread(buf,40,40,f);
fclose(f);
printf(buf);
}
ngetchx();

voilà je souhaiterai lire les fichiers textes ac un programme en C, cependant celui ci ne me renvoi rien..et je ne sais pas pourquoi
hhhh c'est un fichier texte standart ti89 ou les tags s'arrêtent au caracetere 90
si quelqu'un pourrait m'aider...
merci bcp

2

Daetips :
f=fopen("main\hhhh","rt");

Je crois bien que l'attribut t n'existe pas.
Daetips :
char buf[40];
...
fread(buf,40,40,f);

Regarde la doc de fread:
unsigned short fread (void *ptr, unsigned short size, unsigned short n, FILE *stream);
Ce serait plutôt:

char buf[41];
...
fread(buf,1,40,f);
char[40]=0;
printf(buf);
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

3

pour le "t", j'ai lu que c'était pour le mode text et "b" pour le mode binaire....

Voici le site : http://www.technoplaza.net/programming/lesson10p2.php
rb (read binary)
rt (read text)
wb (write binary) wt (write text)


Une erreur de compilation est présente : char[40]=0;
je pensais que c'était buf[40]=0;
mais renvoi toujours un écran vide
merci

4

curieux ce site... mais il n'y a pas de mode "t", par défaut c'est "text" pour les modes "r", "w" ou "a", et si tu veux passer en mode binaire il faut préciser "b".
ensuite pourquoi fseek(f,91,SEEK_SET) ? quand tu ouvres un fichier en mode "text" sur ti, il me semble que la première lecture va directement aux données, en sautant le header et cie.

en gros, lis la doc de TIGCC, ça devrait répondre à pas mal de tes questions.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5

oui en effet, ca "passe" le header...voila mon erreur
donc en enlevant le fseek, ca marche
Merci