[C++]Concaténation/sprintf

Résolu
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. 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
    1. essay ça devrait marcher:

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

      strcpy(nomentreer,nomentree);
      strcat(nomentreer,pcod);
      0
      1. 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
        1. 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