Erreur de segmentation

freekid Messages postés 55 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 8 mai 2011 - 6 oct. 2006 à 16:13
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008 - 6 oct. 2006 à 17:17
Bonjour tout le monde,
voila je suis débutant en programmation c++.
Et ma joie s'est arrété lorsqu'une erreur impossible(pour moi) à enlever est apparue.
Voila la topo:
j'ai un code:

#include
using namespace std;

int main()
{
        char *test;
        cin>>test;
        cout<<test<<endl;
        return 0;
}

Vraiment simple, pourtant, quand je le lance, il me dit "Erreur de segmentation" juste aprés que j'ai entré une valeur pour la variable test.
Armé d'un debugger, je suis allé voir de plus prés et me suis apercu que le probleme ne venait pas de la ligne "cout<<test<<endl;"  mais de la ligne "cin>>test;".
Si quelqu'un pouvait me donner un coup de main sa serait chouette.

5 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
6 oct. 2006 à 16:19
char *test;

test est un pointeur de char
C'est à dire, qu'il pointe quelque part dans la mémoire
Pour qu'il soit valide, il faut qu'il pointe sur quelque chose de concret, où qu'on lui alloue de la mémoire
Sinon il écrit n'importe ou et boom !
Donc soit tu déclares : char test[255];
Où soit tu fais test = new char[255];
En n'oubliant pas le delete[] test;

Cependant, si t'es débutant, cherche un bon cours sur les pointeurs, parce que c'est la meilleures partie du C :p

ULARGE_INTEGERJokyQi=QI("Joky"
0
freekid Messages postés 55 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 8 mai 2011
6 oct. 2006 à 16:21
Ok merci bien.
Peut être bien la meilleure mais une des plus compliqué non?  
0
freekid Messages postés 55 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 8 mai 2011
6 oct. 2006 à 16:32
J'ai suivi ton conseil, cependant,
si par la suite ,je fais
cin<<test;
if (test=="new")
{
etc...
}
la condition n'est pas validé
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 oct. 2006 à 16:47
strcmp()

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MuPuF Messages postés 536 Date d'inscription mercredi 27 avril 2005 Statut Membre Dernière intervention 22 août 2008
6 oct. 2006 à 17:17
Hello
Valide les réponses de brunews et de Jocky

/* MuPuF®
0
Rejoignez-nous