Aide - Recherche - Membres - Calendrier
Version complète : Problème avec StrPrintF
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
OFred
Bonjour,
Juste une ptite question, il n'y a aucun fichier à inclure pour utiliser la fonction StrPrintF ??
Car j'ai l'impression que cette fonction fait redémarrer mon tréo :'(

Merci
Patrice
Non, tout est dans les headers standards. De plus, si tu avais oublié une déclaration, tu aurais certainement une erreur à la compilation.

Un plantage sur StrPrintF dénote presque à coup sur un oubli de variable (pas assez de variables pour le nombre de "specifiers" dans la chaîne de formatage) ou une erreur de type sur une des variables.

Cette question n'ayant pas vraiment de rapport avec le sujet initial, je découpe icon_exclaim.gif
OFred
Arf pourtant y a le compte et les types sont corrects ....
CODE
#define ColorWhite  0 //no color or no print
#define ColorYellow 12

#define cClr "COLOR="
#define endFnt "</FONT>"
#define endP ">"
#define bFnt "<FONT "
#define CR    0x0A    //Line Feed

char *temp1;
StrPrintF(temp1, "%s%s%d%s%s%s%s%c", bFnt, cClr, ColorYellow, " ", endP, "Print this in Bold and Italic!", endFnt, CR);


Qu'est ce qui cloche alors ?! Je vois vraiment pas.
Patrice
Hum, avec temp1 défini comme un simple pointeur, il est certain que l'appel part dans les choux !
OFred
Ah oui désolé.
Je suis pas bien reveillé icon_biggrin.gif il n'est que 11h34 faut être indulgent
Merci
OFred
CITATION
De plus, si tu avais oublié une déclaration, tu aurais certainement une erreur à la compilation.


C'est étrange que sprintf passe à la compilation non ?

Sinon y a t il un équivalent pour strtok ? J'ai vu sur palmos que la fonction fait partie des "Functions that are not internationally safe " ... et en effet ca compile mais ca marche pas.
Je voudrais en fait remplacer un caractère par un autre.
Patrice
CITATION(OFred)
C'est étrange que sprintf passe à la compilation non ?

Pourquoi ? Elle est bien déclarée dans les en-têtes. Simplement, il n'est pas recommandé de l'utiliser.

CITATION(OFred)
Sinon y a t il un équivalent pour strtok ? J'ai vu sur palmos que la fonction fait partie des "Functions that are not internationally safe " ... et en effet ca compile mais ca marche pas.

Il n'est pas trop complexe de s'en sortir avec StrChar()...
OFred
La fonction c'est plutot strchr() non ?

Comment modifier le premier caractère retourné par le string (pointé) de strchr ?!
J'ai essayé avec sous_chaine[0] = "...", ca marche avec un compilateur C classique mais ca ne me parait pas très propre.

Dur dur la vie des chaines de caractères en C.
Patrice
Oui, enfin non... StrChr()

Si tu veux modifier un caractère, ce n'est pas en lui assignant une chaîne ("...") que tu vas arriver à quelque chose de fiable icon_exclaim.gif En revanche l'assignation d'un caractère est effectivement la bonne méthode et ça n'a rien de "pas très propre"...
OFred
En fait j'avais écrit ça:
CODE
sous_chaine[0] = 0x0A;
//Au lieu de :
sous_chaine[0] = 13;


Merci sourire.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.