Aide - Recherche - Membres - Calendrier
Version complète : Problème de Manipulation de chaine de caractère
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
naguttes
Bonjour,

Encore un problème. Depuis que j'ai éclaté mon source en plusieurs fichiers, j'ai un problème avec ma fonction qui formate les nombres en y ajoutant le séparateur de millier.

ma fonction est déclarée comme suit :
CITATION
void FormatNumber(Char nb[], Char dest[],Char sep)

et est appelée comme suit
CITATION
FormatNumber(pop,cTemp1,gthousandsSeparator);

où cTemp1 et pop sont déclarées comme Char cTemp1[30]

Je recopie nb vers dest en intercalant le séparatuer de millier en faisant
CITATION
dest[pos]=nb[i];


J'obtiens un peu n'impore quoi une fois de retour dans la fonction appelante.
A la fin de la fonction FormatNumber j'ai essayé de faire un
CITATION
StrCopy(dest,nb);

et dans ce cas j'ai bien le nombre (non formatté) dans ma fonction appelante.

Avez vous une idée d'où viens le problème?
Patrice
Ta déclaration est incorrecte (ça m'étonne que le compilateur ne hurle pas) icon_arrow.gif void FormatNumber(Char * nb, Char * dest,Char sep)
naguttes
Ca ne marche toujours pas

Je n'avais pas d'erreur à la compilation avec ma déclaration précédente, et en plus ça marchait avant (cf DepFr)
Eddy
J'y pense, là, un truc qui peut peut-être d'aider :

dans ton Makefile, rajoute un -Wall dans les cflags. Ca affiche tous les warning, et donc peut te donner d'eventuels bugs. J'essaye toujours d'avoir zéro warning à la compilation de mes softs.

my 2 cents

Eddy
Payalba
Tu peux publier ton source qu'on regarde.
Patrice
Tu es sur qu'elle est déclarée (dans un .h) dans le source où tu appelles la fonction ? Si ce n'est pas le cas, le compilateur considère que son type est int f(void) et ça peut faire des gros dégâts... Et le compilateur ne prévient pas beaucoup de l'oubli, par défaut icon_lol2.gif
naguttes
CITATION(Patrice)
Tu es sur qu'elle est déclarée (dans un .h) dans le source où tu appelles la fonction ? Si ce n'est pas le cas, le compilateur considère que son type est int f(void) et ça peut faire des gros dégâts... Et le compilateur ne prévient pas beaucoup de l'oubli, par défaut icon_lol2.gif


Encore une fois, j'ai honte icon_bla.gif , j'avais oublié de faire le include pour ce fichier. Bravo à Patrice qui arrive à trouver sans voir les sources.
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.