Facile - Char ou string en C++

RRRico -  
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -
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

fred
 
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.

@+
3
RRRico
 
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)
0
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
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+
0
BigSeb Messages postés 614 Date d'inscription   Statut Contributeur Dernière intervention   12
 
Salut,
Regarde l'aide sur strcmp( )
Cette fonction permet de concatener deux chaines entre elle.

-°-_-°-_-°-_-°-_-°-_-°-
On the road again !!!!!!!
0
fred
 
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 ;
@+
0
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
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
0