BenTIGCC Le 28/11/2003 à 22:17Edité par BenTIGCC le 28/11/2003 à 22:19 Slt à tous !!
J'aimerai comprendre pourquoi j'ai une erreur "Protected Memory violation" quand j'essaie lire un fichier texte de la façon :
char chaine[20];
FILE *fichier_data;
fichier_data = fopen("TIShellD.TEXT", "r");
fread (chaine,1,1,fichier_data);
DrawStr(10,10,chaine, A_NORMAL);
Au passage, j'aimerai savoir comment faire pour exécuter un programme avec des paramètres depuis tigcc exemple :
txtrider("fichierdecompresse");
Merci d'avance
Merci beaucoup en fait ça affiche bien ce qu'il faut mais je sais pas pour quelle raison l'écran de virtual ti se mette à "manger" des caractères
Rhalala...
1.bon, tout d'abord sais-tu comment est faite une chaine en C ?
Apparemment non. Une chaine se termine avec un 0, qui sert de marqueur de fin pour toutes les routines qui manipulent ces
chaines. Ensuite, ton fread lis 1 char dans le fichier mais si les reste de ton tableau (tab[1]->tab[19]) ne contiens aucun 0,
DrawStr est capable d'afficher plein de chars jusqu'a ce qu'il trouve un 0->plantage assuré.
2.N'oublie pas de vérifier que ton fopen t'as renvoyé une valeur correcte.
3.les noms TI ne comportent que des minuscules.
4.si ca ne marche tjs pas poste ton code en entier.
Et d'ailleurs, tu ferais mieux d'appeler hibview que txtrider. Raison: pas besoin de kernel.
"1.bon, tout d'abord sais-tu comment est faite une chaine en C ?
Apparemment non. Une chaine se termine avec un 0, qui sert de marqueur de fin pour toutes les routines qui manipulent ces chaines"
Je sais bien, mais mon tableau était initialisé avant (j'allais pas tout recopier, c'était pour comprendre pourquoi ça plantait, c'est tout...) et je dois dire que j'ai du mal à ne plus utiliser des choses du genre
char *chaine = new char[20];
Au fait, c'est normal que mon fread ne lise qu'un caractère, car il faut que je scanne chaque caractères du fichier, et là, ce n'était qu'un test avec de faire ma boucle.
et je comprends pas pourquoi tu me réponds ça alors que j'avais dis un post plus haut que ça marchait et que c'était à cause de virtual ti qui m'affichait pas bien les caractères (zoom*2 résout le problème)....
Merci Kevin pour m'avoir répondu
si ça plantait c'était que à cause du ".TEXT" que j'avais mis dans mon fopen...
Ah oui, c'est vrai. D'ailleurs au début GTC traitait ça comme un nop (et ça me semble plus logique), mais comme je me suis rendu que TIGCC faisait comme ça, ça fait effectivement un memset.
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
"exit(x);" ne balance pas l'erreur numéro x, non?
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
Si il renvoie l'erreur n!
Alors là je ne sais pas, il faut regarder dans les mises à jours de TIGCC.
PpHd Le 07/12/2003 à 12:17 Sur VTi ou sur real calc ?
Sur VTI, mais il me semble déjà avoir vu sa sur real calc, mais maintenant j'ai un doute.