[C] fonction retournant une chaine de caract

tophe03 Messages postés 327 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33778 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous

Je voudrais savoir comment créer une fonction en C retournant une chaine de caractères, et comment la récupérer ensuite.
Une autre question : atof retourne t-il un float ou un double?

Merci d'avance
Tophe
A voir également:

2 réponses

blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
pour faire une fonction qui retourne une chaine

il faut faire une fonction de type

char *mafonction( );

(attention à allouer suffisament de mémoire à ce qui va recevoir le retour)
cela se manimpule come une chaine de caractère. exemple :

strcpy(machaine,mafonction( ) )


atof est bien une fonction de type double:

#include <math.h>
double atof(const char *s);


cordialement
2
tophe03 Messages postés 327 Date d'inscription   Statut Membre Dernière intervention   5
 
Salut

Pour la fonction retournant une chaine de caractère, j'ai réussi. Merci.

Par contre, lorsque j'utilise la fonction atof, j'ai un souci. En fait, je veux récupérer un double à partir d'une boite de dialogue (API win32). Mais je n'arrive à récupérer que la partie entière, même avec atof.

@+
Tophe
0
Kermitt31 Messages postés 3679 Date d'inscription   Statut Contributeur Dernière intervention   495 > tophe03 Messages postés 327 Date d'inscription   Statut Membre Dernière intervention  
 
est ce qu'il n'y a pas un problème de '.' ou de ','... je sais pas si c'est clair ce que je dis.
Peut etre que tu mets une ',' et qu'il faudrait que tu mettes un '.' quand tu tapes ton réel (ou vice versa).
0
tophe03 Messages postés 327 Date d'inscription   Statut Membre Dernière intervention   5 > Kermitt31 Messages postés 3679 Date d'inscription   Statut Contributeur Dernière intervention  
 
salut

J'ai essayé les deux, et ca ne change rien. En fait, je ne sais pas si ca vient de atof, ou de la manière que j'utilise pour récupérer un double à partir d'une boite de dialogue. D'abord j'utilise GetDlgItemText dans la procédure de dialogue puis je récupère le texte entré dans la prodédure de fenêtre principale grâce à DialogBoxParam et ensuite je convertis la chaine de caractères avec atof. Je ne sais si c'est correct.

@+
Tophe
0