[C++]Concaténation/sprintf

Résolu/Fermé
Leahkim Messages postés 3079 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 21 août 2008 à 13:34
Leahkim Messages postés 3079 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 21 août 2008 à 13:59
Bonjour,


j'aimerais qu'une variable string contienne 2 variables concatnées.
mon code:

nomsortie=sprintf ("%20s%3s",nomentree,cod);

je vous met ma declaration de variable:

char nomentree[21]="";
char nomsortie[21]="";
char cod[4]="cod";

a ce moment du code, nomsortie="", nomentree="nomdefichier".

en gros, je voudrais que nomsortie=nomdefichiercod.

à la compilation, il me met: 216: error:incompatible type in assignment

Une idée ?

(la ligne 216 est celle qui comporte le sprintf)
A voir également:

4 réponses

Leahkim Messages postés 3079 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 278
21 août 2008 à 13:38
j'ai deja vu une erreur a l'instant, mais ça n'a rien changé !

je ne mettais pas assez de caractères:

char nomentree[10]="";
char nomsortie[14]="";
char cod[4]="cod";

nomsortie=sprintf ("%10s%4s",nomentree,cod);


mais ça n'as pas résolu mon probleme, il compile pas
0
idakhamid Messages postés 5 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 21 août 2008 1
21 août 2008 à 13:51
essay ça devrait marcher:

char nomentree[21]="";
char nomsortie[21]="";
char cod[4]="cod";

strcpy(nomentreer,nomentree);
strcat(nomentreer,pcod);
0
Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
21 août 2008 à 13:55
Bonjour,

La valeur de retour de sprintf est le nombre de caractères écrits. Celui-ci vaut -1 en cas d'erreur.

Pour plus d'info : sprintf sur le MSDN ou encore le man 3 sprintf.

M.
0
Leahkim Messages postés 3079 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 2 mars 2014 278
21 août 2008 à 13:59
merci beaucoup pour vos réponses, mais j'ai trouvé tout seul en fait;

si ça vous interesse:

char nomentree[10]="TRUC";
char nomsortie[14]="";
char cod[4]="cod";

sprintf (nomsortie,"%s%s",nomentree,cod);


et le printf ("%s",nomsortie) donne TRUCcod, j'ai donc reussi !

merrci encore
-1