Char tab[]=a;

Signaler
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Voila mon probleme:
je connais char tab[]="ton texte"; mais se que je veux faire c'est a la place de "ton texte" mettre une variable.
j'ai essaié plusieurs solution mais il prend sa comme un texte ou prend que la première lettre. Pouvez vous m'aider svp???
Merci d'avance...

8 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
char szbuff[64]; // 64 octets de variable
strcpy(szbuff, "Ton texte");
......
strcpu(szbuff, "autre texte au choix");
BruNews, ciao...
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
strcpy en place de strcpu
la vieillesse, un long naufrage.
BruNews, ciao...
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

c quoi l'include de strcpu(); stp??
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
strcpy(char *pszDest, char *pszSrc);
Moi je ne me sers que de:
#include <windows.h>
je ne fais + que du Win32 depuis.....
que les clients y sont.
BruNews, ciao...
Messages postés
334
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
3 juillet 2010

Merci tout le monde,
je vai esayer tout ça.

http://perso.wanadoo.fr/iar/IAr_Projet.htm
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

salut,
char tab[] = "ton texte"; déclare et initialise un tableau de caractères;

#include
#include <conio.h>

int main(void) {

static char *tablo = "mon texte";
cout << tablo << endl;

tablo = "je le change";
cout << tablo << endl;
getch();

return 0;
}
Messages postés
113
Date d'inscription
lundi 24 février 2003
Statut
Membre
Dernière intervention
5 janvier 2004

Les solutions proprosées sont correctes mais il existe une meilleure qui garde l'avantage de [] =a c'est à dire qui allouera un nb suffisant de caractères. Le problème du char tab[64] c'est que si ta variable fait plus de 64 car (\0 compris), ca écrase les données à coté. Et puis si var a une taille de 20 car, tu auras 43 (64 - 20 -1 pour le \0) car de trop.

Il faut donc plutôt procéder comme suit:

char *tab = new char[strlen(var) + 1]; // +1 pour \0
strcpy(tab,var);

Ainsi on n'alloue ni trop ne trop peu de mémoire.
Même si tab est déclaré comme un pointeur tu pourras utiliser les []:
cout << tab[1] affichera le 2° car de tab.
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

merci a tous pour vos nombreuse réponse qui m'ont braucoup aidé...