Page 1 of 2

Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 16:34
by caviar
Bonjour,

Je souhaite développer un langage oncalc pour la ti nspire mais pour cela il me faut impérativement passer par les fonctions du type fopen, fputc, etc..(librairie stdio.h). Ces fonctions sont normalement inclus dans Ndless mais je ne parviens pas à les utiliser. Quelqu'un a t'il déjà réussi à faire fonctionner ces fonctions sur nspire ?

Sur ti89, je ne rencontrais pas ce genre de problème.

HELP...

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 17:28
by Lionel Debroux
Que se passe-t-il précisément si tu essaies de les utiliser ?
Est-ce que tu ouvres bien des documents sous le path "/documents/" ?

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 17:36
by critor
mViewer ouvre très bien les fichiers images.
Je te confirme donc que fopen et compagnie marchent.

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:20
by caviar
Rebonjour,

Tout d'abord merci de répondre aussi rapidement.

Je vous place le code source ci-dessous (qui chez moi ne fonctionne pas) :

FILE * pFile;
pFile = fopen ("toto","w");
if (pFile!=NULL)
{
fputc('a',pFile);
fclose (pFile);
}

Après exécution, aucun fichier n'est créé sur la calculatrice (j'utilise ncubate)
Hormis cela, je ne comprends ce que veut dire Lionel Debroux avec path "/documents". Peut être est ce la réponse à mon problème. Si c'est le cas, merci de détailler plus précisement ce que ca veut dire.

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:24
by critor
La Nspire travaille dans le dossier "/documents" et ne te montre que les fichiers ".tns".

Tu y verras sans doute mieux avec:
Code: Select all
fopen("/documents/toto.tns","w");

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:42
by Adriweb
critor2000 wrote:La Nspire travaille dans le dossier "/documents" et ne te montre que les fichiers ".tns".[/code]

Sauf avec l'OS "rooté"... voir Omnimaga, je ne m'en rapelle plus trop...

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:43
by caviar
J'ai essayer la commande suivante :
fopen("/documents/toto.tns","w");

mais malheureusement aucun fichier n'a été créé dans un répertoire nommé /documents (dans 7.Mes classeurs).
:#wrong#:

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:48
by Levak
caviar wrote:J'ai essayer la commande suivante :
fopen("/documents/toto.tns","w");

mais malheureusement aucun fichier n'a été créé dans un répertoire nommé /documents (dans 7.Mes classeurs).
:#wrong#:

tu n'as pas compris (mais bon si ça ne fonctionne pas, c'est un peu plus inquiétant).

La Nspire n'affiche QUE le dossier /documents/.
Par exemple, il y a le dossier /phoenix/ également, mais est invisible.

En gros, si sur ta Nspire tu as un fichier toto.tns à la racine, en réalité il est dans le dossier /documents/ sous le nom de /documents/toto.tns.


Adriweb c'est un OS modifié, donc bon ...

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 18:58
by caviar
Ok, merci pour les précisions, je n'avais effectivement pas compris.
Cependant, je n'ai toujours pas de fichier de créé...

Par ailleurs, lorsque j'écris dans mon code source : fputc('a',pFile), j'ai (parfois) une erreur à l'exécution et m'affiche dans la console une sorte de menu de débuggage. Je ne comprends pas.

Re: Fonctions fopen, fclose, fgetc...

Unread postPosted: 15 May 2011, 20:23
by Lionel Debroux
Ca n'est pas normal que fopen + fputc + fclose ne crée pas de fichier, ni que fputc fasse planter...

Sur quelle version d'OS testes-tu, et surtout, quelle version de Ndless utilises-tu ? Il faut toujours utiliser la plus récente version disponible, depuis SVN, actuellement 2.0 beta r392 :):