zelze
Messages postés234Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention30 juillet 2008
-
10 mars 2003 à 19:55
zelze
Messages postés234Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention30 juillet 2008
-
11 mars 2003 à 18:31
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...
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 201917 10 mars 2003 à 20:13
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...
Vous n’avez pas trouvé la réponse que vous recherchez ?
superpa
Messages postés113Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 5 janvier 2004 11 mars 2003 à 08:51
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.