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".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

#1 Le 23/08/2013, à 10: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, à 11:38)

Hors ligne

#2 Le 23/08/2013, à 10: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, à 10:54)


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

Hors ligne

#3 Le 23/08/2013, à 10: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, à 11: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, à 12: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, à 13: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, à 15: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 ↑