[C++/pointeur] petite question
Fermé
Zempachi
Messages postés
7472
Date d'inscription
vendredi 14 octobre 2005
Statut
Contributeur
Dernière intervention
5 juin 2020
-
15 avril 2008 à 17:19
Zempachi Messages postés 7472 Date d'inscription vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 - 15 avril 2008 à 19:37
Zempachi Messages postés 7472 Date d'inscription vendredi 14 octobre 2005 Statut Contributeur Dernière intervention 5 juin 2020 - 15 avril 2008 à 19:37
A voir également:
- [C++/pointeur] petite question
- Petite amie virtuelle en français - Accueil - Intelligence artificielle
- Pointeur souris disparu pc portable - Guide
- Petite vague clavier - Forum Clavier
- Comment dévisser une petite visse sans tournevis - Forum Réseaux sociaux
- La fenetre actuelle est trop petite pour afficher correctement cette feuille - Forum Google Docs
7 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
15 avril 2008 à 17:53
15 avril 2008 à 17:53
En faisant ça
char * str = "toto";
Ton str pointe vers une zone mémoire qui est en lecture seule.
Si tu tentes de remplacer une lettre là dedans, tu vas le sentir passer ;-)
Quand tu fais ça:
char* str = new char[4];
str = "toto";
Tu alloues dynamiquement 4 places de char. Ensuite tu écrases l'adresse de cette zone pour faire pointer str vers une autre zone de mémoire qui est en lecture seule. C'est mal :-)
A propos si tu es en C++, tu devrais utiliser des std::string. Avec ça les règles ne sont plus les mêmes et tout est moins compliqué.
ps: autre question subsidiaire, ls PSG est il vraiment condamné?? SNIF!! : (
<aimepaslefoot>
Ca ne me ferait ni chaud ni froid ;-)
</aimepaslefoot>
char * str = "toto";
Ton str pointe vers une zone mémoire qui est en lecture seule.
Si tu tentes de remplacer une lettre là dedans, tu vas le sentir passer ;-)
Quand tu fais ça:
char* str = new char[4];
str = "toto";
Tu alloues dynamiquement 4 places de char. Ensuite tu écrases l'adresse de cette zone pour faire pointer str vers une autre zone de mémoire qui est en lecture seule. C'est mal :-)
A propos si tu es en C++, tu devrais utiliser des std::string. Avec ça les règles ne sont plus les mêmes et tout est moins compliqué.
ps: autre question subsidiaire, ls PSG est il vraiment condamné?? SNIF!! : (
<aimepaslefoot>
Ca ne me ferait ni chaud ni froid ;-)
</aimepaslefoot>
Zempachi
Messages postés
7472
Date d'inscription
vendredi 14 octobre 2005
Statut
Contributeur
Dernière intervention
5 juin 2020
906
15 avril 2008 à 19:05
15 avril 2008 à 19:05
Merci killian!
Pour le string je sais c'est d'ailleurs ce que je fais toujours.
C'est juste que j'aime me prendre la tête avec les allocations de mémoire! ^^
char* str = new char[4];
str = "toto";
Tu alloues dynamiquement 4 places de char. Ensuite tu écrases l'adresse de cette zone pour faire pointer str vers une autre zone de mémoire qui est en lecture seule. C'est mal :-)
Effectivement, d'ailleurs mis à part le strcpy, il n'y a pas moyen de changer la valeur de ma chaine de caractère str??
: )
Pour le string je sais c'est d'ailleurs ce que je fais toujours.
C'est juste que j'aime me prendre la tête avec les allocations de mémoire! ^^
char* str = new char[4];
str = "toto";
Tu alloues dynamiquement 4 places de char. Ensuite tu écrases l'adresse de cette zone pour faire pointer str vers une autre zone de mémoire qui est en lecture seule. C'est mal :-)
Effectivement, d'ailleurs mis à part le strcpy, il n'y a pas moyen de changer la valeur de ma chaine de caractère str??
: )
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
15 avril 2008 à 19:13
15 avril 2008 à 19:13
Effectivement, d'ailleurs mis à part le strcpy, il n'y a pas moyen de changer la valeur de ma chaine de caractère str??
Nan :-)
Enfin si tu peux le transformer en string.
Nan :-)
Enfin si tu peux le transformer en string.
Zempachi
Messages postés
7472
Date d'inscription
vendredi 14 octobre 2005
Statut
Contributeur
Dernière intervention
5 juin 2020
906
15 avril 2008 à 19:20
15 avril 2008 à 19:20
oki doki!
Merci encore killian!
^^
Merci encore killian!
^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zempachi
Messages postés
7472
Date d'inscription
vendredi 14 octobre 2005
Statut
Contributeur
Dernière intervention
5 juin 2020
906
15 avril 2008 à 19:31
15 avril 2008 à 19:31
...mmmm, si je fais :
ça fonctionne pas??
char t = 't'; char o = 'o'; char* str = new char[4]; *str = t; *(str +1) = o; *(str +2) = t; *(str +3) = o;
ça fonctionne pas??
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
15 avril 2008 à 19:32
15 avril 2008 à 19:32
Normalement aucun soucis :-)
Zempachi
Messages postés
7472
Date d'inscription
vendredi 14 octobre 2005
Statut
Contributeur
Dernière intervention
5 juin 2020
906
15 avril 2008 à 19:37
15 avril 2008 à 19:37
je l'ai eu le strcpy!!! ^^
Merci encore une fois killian!
: )
Merci encore une fois killian!
: )