Modifier la taille d'un char* en C++
silentData
Messages postés
201
Statut
Membre
-
scaravenger Messages postés 3055 Statut Membre -
scaravenger Messages postés 3055 Statut Membre -
Bonjour,
Moi qui suit à fond java, dès le moment où je dois retoucher le C++ et ses pointeurs, je m'en sort plus :'(
Voilà donc mon problème :
Je crée une classe String avec un attribut char* s qui représente la chaîne de caractère.
J'ai créé une méthode setSize() pour redimensionner la taille de ma chaîne... Cependant, je n'arrive pas à la faire fonctionner... Voici mon code actuel :
Est-ce que qqun pourrait m'aider ?
Merci :)
Moi qui suit à fond java, dès le moment où je dois retoucher le C++ et ses pointeurs, je m'en sort plus :'(
Voilà donc mon problème :
Je crée une classe String avec un attribut char* s qui représente la chaîne de caractère.
J'ai créé une méthode setSize() pour redimensionner la taille de ma chaîne... Cependant, je n'arrive pas à la faire fonctionner... Voici mon code actuel :
void String::setSize(int size){
char *tmp = new char[size+1]; //Je crée une chaine temp. avec la nouvelle taille
strcpy(tmp, this->s); //Je copie la valeur actuelle de la chaîne
delete[] this->s; //Je désalloue mon attribut
this->s = new char[size+1]; //Je redéfini l'attribut à la bonne taille
strcpy(this->s, tmp); //Je copie la valeur de la chaîne temporaire dans l'attribut
}
Est-ce que qqun pourrait m'aider ?
Merci :)
A voir également:
- Modifier la taille d'un char* en C++
- Comment réduire la taille d'un fichier - Guide
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier l'extension d'un fichier - Guide
- Reduire taille image - Guide
3 réponses
As tu dimensionné ou initialisé ton char* s avant l'appel de setSize()?
Quel message d'erreur obtiens tu?
Quel message d'erreur obtiens tu?