Facile - Char ou string en C++

Salut,
Je dévelope sur Borland C++ Builder 6 et je suis completement nouveau.
Je connais
gets(chaine);
sscanf(chaine, %c, nom_chaine);

Mais je voudrais inserer la valeur rentree au clavier dans une autre chaine, ou une string, mais je ne connais pas bien la difference entre les deux.

genre : char ("blablabla %c encore blablabla", nom_chaine);

mais ca ca marche pas.

Merci d'avance.

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. le type "char " permet de definir soit un caractére unique (il est alors signé ou non), soit une chaine de carctéres respectivement tel que :

    char un_caractere_unique;
    char une_chaine_de_10_caracteres[10]; ou
    char *une_chaine_de_longueur_variable; //il s'agit en faiut d'un pointeur sur le flot représentant la chiane en question

    on peut des choses du genre:

    char chaine[25] ;
    printf(...);
    gets(chaine);

    le type "string" a proprement parlé n'existe pas dans C++ Builder.

    @+
    1. Ok, tu réponds a "string ou char ?". Merci, y'a dc pas besoin de se casser la tete sur les strings.
      Maintenant, t'aurais pas une idée pour inserer le contenu de gets(chain1) dans une autre (chaine2) ?
      Ca m'arrangerait drolement !

      Merci (re)
  2. AnsiString !
    consultez l'aide de votre builder, le type AnsiString est hyper souple, polymorphe, et il se débrouille tout seul pour allouer
    sa mémoire.
    en plus on peut faire :

    AnsiString toto;
    toto="voila";
    toto+=" du texte";

    tout ce qui est vrai avec string est vrai avec AnsiString

    a+
    1. Contributeur
      Salut,
      Regarde l'aide sur strcmp( )
      Cette fonction permet de concatener deux chaines entre elle.

      -°-_-°-_-°-_-°-_-°-_-°-
      On the road again !!!!!!!
      1. il s'agit plutot de la fonction strconcat() pour concatener les chaines de caracteres.

        eg: strconcat(ch1,ch2) où le resultat est : ch1 = ch1+ch2 ;
        @+
    2. ben alors les gars ? RTFM ! :-)

      puisque c'est du (char *) allons-y:

      strcpy(cible,source) ==> copier source dans cible

      strcat(cible,source) ==> ajouter source dans cible

      strcmp(chaine1, chaine2) ==> comparer chaine1 et chaine2
      0 si identique sinon <0 si chaine1<chaine2 et >0 cas inverse

      strlen(chaine) très utile pour la longueur de la chaine

      voir STRING.H dans Borland c'est documenté en Anglais,
      je sais, c'est dur, mais c'est mieux foutu que visual machin.

      a+ tous