1

void WritePass(char a[3],char b[3],char c[3],char d[3],char e[3],char f[3],char g[3],char h[3])
{
FILE *fp = fopen ("pass", "wb")
fputs (a , fp);
fputs (b , fp);
fputs (c , fp);
fputs (d , fp);
fputs (e , fp);
fputs (f , fp);
fputs (g , fp);
fputs (h , fp);
fputc (0, fp);
fputs ("TIPR", fp);
fputc (0, fp);
fputc (OTH_TAG, fp);
fclose (fp);
}

void WriteLog(char a[3],char b[3],char c[3],char d[3],char e[3],char f[3],char g[3],char h[3])
{
FILE *fp = fopen ("log", "wb")
fputs (a , fp);
fputs (b , fp);
fputs (c , fp);
fputs (d , fp);
fputs (e , fp);
fputs (f , fp);
fputs (g , fp);
fputs (h , fp);
fputc (0, fp);
fputs ("TIPR", fp);
fputc (0, fp);
fputc (OTH_TAG, fp);
fclose (fp);
}

void _main(void)
{
WriteLog ("046","046","046","000","000","000","000","000")
WritePass("046","046","046","000","000","000","000","000")
clrscr();
ngetchx();
}

Ces trois fonctions sont dans trois fichiers .c différent, mais lorsque je lance le prog sur VTI j'obtiens : Line 1111 Emulator.
Quelqu'un pourrait m'aider ?

Jérem

2

je suis pas sûr que ça vienne de là, mais bon, on peut toujours tenter grin

En C, les chaînes de caractères se terminent par un caractère valant 0. (il s'agit de '\0')
=> une cha^^ine que tu déclares comme
char str[3];
tu ne peut mettre que 2 lettres dedans !!!
(plus le \0)

=> vu que ds main, tu appelles tes fonctions avec des chaînes de 3 lettres, il fo que tu utilises des str de 4 caractères !!!
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

3

Apparemment j'avais effectivement fait une erreur à ce niveau là... Par contre en reprenant mon prog morceau par morceau, j'ai la fonction suivante qui me fait la même erreur sur VTI ( Line 1111...)

short FileExist()
{
HSym temp;
temp = SymFind($(log));
if(temp.folder)
{ return 0; } // Le fichier existe
else
{ return 1; } // Le fichier n'existe pas
}

J'utilise cette fonction pour vérifier si le fichier nommé "log" que j'ai crée auparavant existe bien... ( j'appelle cette fonction depuis la fonction main )

4

Au fait, t'es pas obligée de mettre des accolades après ton if(temp.folder) si tu n'as qu'une instruction :

if(temp.folder)
return 0;
else
return 1;

5

Qu'est-ce qui ne marche pas ?

6

C'est pas clair cette affaire là ! Je rencontre des erreurs mais jamais au même endroit ( je n'arrive de toutes façons pas à savoir où ça déconne exactement ) et pas à chaque fois ! Si quelqu'un sait se qui peut entraîner l'erreur "Line 1111 Emulator"...sadsad

7

tu as quelle version de TIGCC ?
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

8

J'ai là version 0.93 et 0.92. En ce moment ( enfin depuis quelques jours ) j'utilise la 0.93, tu crois que ça vient de là ? confus

9

Tu es sûr que le programme plante dans la fonction FileExist ?

10

Ben plus maintenant rage ! Je comprends rien ! Je ne sais pas d'où sa vient, maintenant le prog plante dès le début, même les quelques instructions qui affiche du texte ne semblent pas exectuées !

11

au post 3, tu teste l'existence d'un fichier nommé "log"...
Or, il est IMPOSSIBLE d'avoir un fichier de ce nom... puisque c'est un nom de fonction de la TI...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

12

Pas bête du tout ça, Squale 92 ! grin Je vais déjà changer ça et après je verrai !
Par contre j'ai une autre question, avec TIGCC, combien peut on "imbriquer" de fonction les unes dans les autres ? Enfin, avec un bout d'exemple ça sera plus simple :

void fonction1(void)
{ fonction2(); }

void fonction2(void)
{ fonction3(); }

void fonction3(void)
{ fonction4(); }

void fonction4(void)
{ fonction5(); }

void fonction5(void)
{ ... }

void _main(void)
{
fonction1();
}

J'espère que vous avez compris ce que je demande...

13

Jusqu'à ce que la pile soit pleine.
Il devrait y avoir la place pour un millier d'appels récursifs ("imbriqués").
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

oui, mais les variabels automatiques sont allouées sur la pile...
(variable auto = les variables que tu déclares ds le corps d'une fonciton)

=> ça laisse moins de place grin


au total, la pile fait 15,5 ko je crois...
mais le TIOS y met déjà des trucs....
=> ça réduit un peu...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall