Strncpy

Fermé
ffoh - 20 janv. 2009 à 23:32
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 21 janv. 2009 à 00:50
Bonjour,

je suis en train d'ecrire la surchare de l'operateur d'assignation de ma classe qui possede une chaine de caractères

attribut protected "char * ss"


donc j'utilise strcpy pour copier la chaine comme on peut le voir dans cette exemple

class jeu{
char ss;
public:
...
jeu & operator=(const jeu & j);


};

jeu jeu::operator=(const jeu & j)
{
...
strcpy(this->ss,j.ss);
...
}


pour etre clair tous marche sauf ce strcpy (j'ai tester sans , c ok), ca passe a la compile mais ca plante quand tjs a ce nivau

est ce que quelqu'un voit ou est mon probleme ? merci d'avance

2 réponses

je ne comprend non plus pourquoi ceci ne marche pas

for (int i=0;i<strlen(j.ss);i++)
ss[i]=j.ss[i];
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
21 janv. 2009 à 00:50
Salut,
Tu as déclaré ss en char. Cela doit être un tableau de char ou un pointeur sur un char.
char ss[150]; ou char *ss par exemple. Dans ce cas (pointeur), il faudra allouer la zone. Et ne pas oublier le free avant la fin du programme.
Cdlt
0