Rechercher : dans
Par :

[C] fonction retournant une chaine de caract

Dernière réponse le 23 aoû 2005 à 00:51:18 tophe03, le 20 aoû 2005 à 23:23:19 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [C] fonction retournant une chaine de caract » dans :
Les chaînes de caractères en C++ Voir Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
[VBA] Fonction qui retourne la couleur active d'une MFC VoirCette fonction retourne la valeur du format actif d'une mise en forme conditionnelle. Avec la fonction de la démo, deux valeurs peuvent êtres retournées. Mode = 0 : retourne la valeur de Interior.ColorIndex Mode = 1 : retourne la valeur de...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

blurk, le 21 aoû 2005 à 13:51:26

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
¤

Répondre à blurk

2

tophe03, le 21 aoû 2005 à 17:47:43

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

Répondre à tophe03

3

Kermitt31, le 22 aoû 2005 à 11:14:29

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). Proverbe Lapon:Girafe au pôl' Nord,
Eté de la mort.

Répondre à Kermitt31

4

tophe03, le 22 aoû 2005 à 18:22:26

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

Répondre à tophe03

5

 mamiemando, le 23 aoû 2005 à 00:51:18


Fichier plop.c

#include <stdio.h>
#include <stdlib.h>

long double x, y;

int main(int argc,char **argv)
{
        if (argc==2){
                double d=atof(argv[1]);
                printf("%lf\n",d);
        }
        return 0;
}


Compilation et execution (sous linux)
gcc plop.c
 ./a.out 1.234
1.234000


Celà vient peut être de la boîte de dialogue (plutôt que de atof, qui au passage retourne bien un double)

Bonne chance

Répondre à mamiemando
Collection CommentÇaMarche.net