Arecibo
Messages postés124Date d'inscriptionjeudi 13 juin 2002StatutMembreDernière intervention30 juillet 2003
-
19 juil. 2003 à 18:42
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
20 juil. 2003 à 14:56
Lorsque je déclare :
char Texte[16];
est ce que je déclare :
- une variable de type char de 16 caractères PLUS le caractère NULL
ou
- une variable de type char de 16 caractères DONT le caractère NULL
fredcl
Messages postés547Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention 7 octobre 20071 19 juil. 2003 à 18:55
tu déclare un espace mémoire de la taille d'un char * 16
et c'est tout. A toi de gérer ce que tu met dedans
exemple
strcpy(Texte, "toto");
le caractère de valeur 0 se trouveras à l'index 4 de ton tableau;
par contre strcpy(Texte, "toto est grand !")
le carctère 0 indiquant la fin de la chaine seras copié en dehors des limites du tableau. Et la ça fais mal :-(
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 juil. 2003 à 18:57
tu RESERVES 16 octets et rien de plus donc si tu y entres une chaine de caracteres elle ne devra pas exceder 15 caracteres + le NULL final a l'adresse Texte[15].
BruNews, ciao...
m'a chaine Texte a l'air correcte, donc je pense que GetDlgItemText a en fait pris les 15 premiers caractères de mon Editbox (IDC_TEXT) et a terminé par un carcatère null.
Est ce le cas ?