Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 23/08/2013, à 09:35

kboo

C: de int vers char*

Bonjour,
J'ai une fonction que je vais appeler "int fonction(char* entree)" qui n'accepte que un tableau de caractères (char*), or j'ai une fonction "char autreFonction()" qui renvois un caractère. le Problème c'est comment faire pour mettre la sortie de autreFonction dans l'entrée de fonction, autrement dit:

int fonction(char* entree) 
{
 // ....
  return 0;
}
char autreFonction() 
{
  // ....
  return 'a';
}

fonction(autreFonction()); // ???

En concret voici ce que je veux éviter:

int Q = fonction();

char QSTR[1];
QSTR[0] = (char)pA->getQ();

char QG_STR[1];
sprintf(QG_STR, "%d", Q);

if(strcmp(QG_STR, QSTR) != 0)
{
//...
}

merci bien!

Dernière modification par kboo (Le 23/08/2013, à 10:38)

Hors ligne

#2 Le 23/08/2013, à 09:50

Hoper

Re : C: de int vers char*

fonction(autreFonction()); // ???

Bein oui... Par contre, j'ai pas de C depuis TREEEEEES Longtemps (et j'ai toujours été mauvais en plus) mais la, comme ça, il y a truc qui chiffonne. D'un coté tu attend une carrote (char*) de l'autre tu lui envoi une pomme de terre (un char). T'es sur de ton coup ?

EDIT : Bon, vu que je comprend rien à la suite du message que tu as ajouté entre temps, tu peux surement ne pas tenir compte du mien smile (mais quand meme il me semble qu'il y a un manque de logique quelque part...)

Dernière modification par Hoper (Le 23/08/2013, à 09:54)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#3 Le 23/08/2013, à 09:53

kboo

Re : C: de int vers char*

Hoper a écrit :

fonction(autreFonction()); // ???

Bein oui... Par contre, j'ai pas de C depuis TREEEEEES Longtemps (et j'ai toujours été mauvais en plus) mais la, comme ça, il y a truc qui chiffonne. D'un coté tu attend une carrote (char*) de l'autre tu lui envoi une pomme de terre (un char). T'es sur de ton coup ?

c'est exact, j'ai fait exprès... je cherche un moyen qui ne soit pas moche de faire ça

Hors ligne

#4 Le 23/08/2013, à 10:24

kboo

Re : C: de int vers char*

petite modif pour le code:

int fonction(char* entree) 
{
 // ....
  return 0;
}
int autreFonction() 
{
  // ....
  return 49;
}

fonction(autreFonction()); // <<<<problème ici

merci bien

Hors ligne

#5 Le 23/08/2013, à 11:23

pingouinux

Re : C: de int vers char*

Bonjour,
Je reconnais que c'est un peu tordu :

main(){
   char c;
   printf( "%c\n",fonction( ((c=autreFonction()),&c) ) ); // ???
}

Hors ligne

#6 Le 24/08/2013, à 12:48

no_spleen

Re : C: de int vers char*

Salut,

Je ne dois pas bien comprendre ton problème, car j'ai l'impression qu'il suffit de faire cela

   char a = autreFonction();
   int b = fonction(&a);

Hors ligne

#7 Le 24/08/2013, à 14:04

Haleth

Re : C: de int vers char*

Tu écrit plusieurs lignes, comme tout le monde, ou tu fais une fonction pour cela


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

Haut de page ↑