cs_Wiwi
Messages postés6Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention 5 avril 2004
-
26 mars 2004 à 18:27
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
26 mars 2004 à 23:01
Bonjour tt le monde, j'ai une tite pro (bidon) avec ce morceau de programme. Lors de sa compilation il n'y a aucune erreur, par contre lors de son exécution la fenêtre d'erreur de windows s'ouvre me disant qu'il doit fermé l'application etc etc...
Je suppose que le problème vient de buf_rec.
A la base je l'avais déclaré comme ceci : char buf_rec[6];
mais ça marche pas pour autant.
Si qq'1 a une solution...merci.
#include "iostream.h"
main()
{
char* toto;
char* buf_rec;
cout<<"Tapez <> ou <> :"<<endl;
cin>>buf_rec;
if (buf_rec=="pro24")
{
toto= "Youplaboom 24";
}
if (buf_rec=="pro48")
{
toto="Youplaboom 48";
}
else
{
toto="ERREUR";
}
cout<<endl<<"<<toto>> final :"<<endl<<toto<<endl;
return 0;
}
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 26 mars 2004 à 19:08
char* toto;
char buf_rec[50];
et pour comparer 2 chaines de caracteres c'est pas (sinon utilise std::Sring), mais 'if (strcmp(buff_rec,"pro48") 0)' alors c'est egal...
la ca plantait skeu t'essayer de stocker des données (ce ke tu tapes au clavier) ds un endroit ki n'est pas reservé pour en recevoir (au début, ds ton truc, buf_rec désigne une adresse mémoire kelconque, et ya donc tres peu de chances ke tu puisses y ecrire, alors ke ds skeu j'ai dit, buf_rec désigne l'adresse d'une zone mémoire ou ya 50 cases libres (dc tu peux y ecrire)).
si t'as pas envie dte prendre la tete avec les char*, fais une recherche sur std::string...