Problème avec strcpy et la console d'affichage
Bonjour à tous,
Mon problème me semble quelque peu étrange, je vais donc essayer de l'expliquer clairement.
Voici la classe que j'ai réalisé pour un jeu :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
class CJoueur {
private :
char _Nom[20];
public:
CJoueur(char *Nom);
int ObtienNom(char * MonNom);
};
|
Et voici la définition des méthodes :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
// Le constructeur
CJoueur::CJoueur(char *Nom){
strcpy(_Nom, Nom);
}
// La fonction qui donne le nom
int CJoueur::ObtienNom(char * MonNom){
strcpy(_Nom, MonNom);
return 0;
} |
Mon problème est le suivant :
des que j'utilise le fonction obtienNom(), plus rien ne s'affiche sur la console.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
//Voici le Main :
#include <iostream.h>
#include "Joueur.h"
int main(){
CJoueur J("paul");
char Nom[20];
J.ObtienNom(Nom);
cout << "essai" << endl;
// rien ne se passe
return 0;
} |
En cherchant la cause de ce problème j'ai trouvé :
si je met en commentaires strcpy dans la fonction ObtienNom tout redevient normal, et la console affiche essai
Code:
1 2 3 4 5
|
int CJoueur::ObtienNom(char * MonNom){
//strcpy(_Nom, MonNom);
return 0;
} |
8O ?????? (je n'ai aucune erreur ni de warning)
si quelqu'un comprend ce qui se passe, Merci d'avance!
:tagcode: