[C++]Concaténation/sprintf

Résolu
Leahkim Messages postés 3219 Statut Membre -  
Leahkim Messages postés 3219 Statut Membre -
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)
Configuration: Windows Vista
Safari 525.17

4 réponses

  1. Leahkim Messages postés 3219 Statut Membre 281
     
    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
  2. idakhamid Messages postés 5 Statut Membre 1
     
    essay ça devrait marcher:

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

    strcpy(nomentreer,nomentree);
    strcat(nomentreer,pcod);
    0
  3. Mahmah Messages postés 497 Statut Membre 125
     
    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
  4. Leahkim Messages postés 3219 Statut Membre 281
     
    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