Char * -> paramètres de fonction

Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005 - 19 sept. 2005 à 19:04
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005 - 20 sept. 2005 à 18:46
Voilà j'essai depuis 2 jours de faire en sorte de transformer un char * en "paramètres" de fonction afin de pouvoir appeler des fonction dont je ne connais pas le nombre exacte de param.

char variable[]="parametre1,parametre2";
Fonction(CHARTOFUNCT(variable));

pour qu'il puisse le transformer comme ceci :
Fonction(parametre1,parametre2);

NB: Avec un nombre de paramètre inconnu !

Autre petit question quelle est la différence entre __declspec(dllexport) & __stdcall ? sauf que __stdcall dois être inclu dans un fichier .def ?

Encore merci ;)

7 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
19 sept. 2005 à 19:50
Il est possible de créer des fonctions avec un nombre d'argument inconnus :)
Par exemple, les fonctions d'affichages standar en C printf( ) à un nombre de caractère inconnu
A toi de te renseigner sur comment qu'on fait ça :)
J'pense qu'il faut utiliser les ...


if(!Meilleur("Joky")) return ERREUR;
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 sept. 2005 à 20:35
Si nbr de params inconnu doit être cdecl par force, la fonction ne peut pas dépiler puisque ne connait pas le nbr de params.

__declspec(dllexport) évite de faire un *.def mais on n'a pas toutes les options comme avec un def.

ciao...
BruNews, MVP VC++
0
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
19 sept. 2005 à 21:46
Joky tu est dans le champ ... je parle de transformer un char * en "paramètre".

J'essai de faire un programme qui apelle une fonction d'une dll avec les paramètre que l'utilisateur entre. (comme mIRC)

si je fait #define CHARTOFUNCT(a,b) a,b
sa marche mais la j'ai un problème étant donner que le nombre de paramètre est fixe :(

Sinon joky reli l'exemple que j'ai mis plus haut , pourtant c'est pas si compliquer a comprendre
Sinon je c'est comment faire pour pouvoir créer une fonctoin avec un nombre "inconnu" de paramètre.
Mais je parle de transformer un "char*" en paramètre pour le mettre directement dans la fonction.

Sinon ya toujours possibiliter de s'avoir combien de paramètre l'utilisateur a mis.

merci d'avance
------------------------------------------
Votre dévoué posseur de question :D
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
20 sept. 2005 à 11:31
Euh...j'ai pas tout compris mais je ne vois pas l'importance de la "génération de paramètres".
Pourquoi tu n'utiliserais pas la chaine directement: fonction(char * parameters). Du coup, à l'intérieur de fonction, tu la parserais pour en retirer les données utiles...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
20 sept. 2005 à 14:08
Oui mais le problème est que le programme ne connais pas le nombre de paramètre ! Je pourrais appeler une fonctoin de 5 paramètre, après 3...

Je me voie mal faire :

swtich(nom_param) {
case 0: fonction();
case 1: fonction(param[0]);
case 2: fonction(param[0],param[1]);
case 3: fonction(param[0],param[1],param[2]);
[...]
}

------------------------------------------
Votre dévoué posseur de question :D
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
20 sept. 2005 à 16:44
Donc la conclusion est : Joky n'était pas dans le champ :)


if(!Meilleur("Joky")) return ERREUR;<
0
Suisse00 Messages postés 83 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 12 octobre 2005
20 sept. 2005 à 18:46
Fonction est un pointeur de fonction défini comme ceci :
#define (*Fonction)(...)

Toi tu parlais d'UTILISER c'est ....

Bref pour en revenir :( Aider moi !
(dommage que je puisse pas changer de cathégorie pour AU SECOUR !!)

Merci d'avance pour ceux qui auron la réponse :(

------------------------------------------
Votre dévoué posseur de question :D
0
Rejoignez-nous