C++ pointeur char ,cin et cout
bonjour je suis en train d'apprendre le c++ mais je me retrouve face à un petit probleme et je souhaiterai un petit peu d'aide merci:
voila mon programme:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
char *bob;
cin>>bob;
system("PAUSE");
return EXIT_SUCCESS;
}
en fait lorsque j'utilise scanf a la place de cin tout fonctionne correctement mais ici le programme plante quand j'utilise cin..Pouvez vous me renseigner sur l'origine de ce probleme..merci
voila mon programme:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
using namespace std;
int main(int argc, char *argv[])
{
char *bob;
cin>>bob;
system("PAUSE");
return EXIT_SUCCESS;
}
en fait lorsque j'utilise scanf a la place de cin tout fonctionne correctement mais ici le programme plante quand j'utilise cin..Pouvez vous me renseigner sur l'origine de ce probleme..merci
Configuration: Windows XP Firefox 2.0.0.3
8 réponses
-
Salut, c'est peut etre dû à ta déclaration de bibliothèque.
"scanf" appartient bien à stdio.h et cin je crois que bien que c 'est iostream.h. Tu as mal déclaré cette dernière ->tu as oublié le ".h" à la fin de #include <iostream..>! -
merci de ta reponse deja..
mais j'ai essayé ce que tu m'as dit mais ça ne change rien. -
Salut,
Tu peux bien déclarer iostream sans mettre le .h à la fin
#include <iostream>
Sinon peut-être que le problème se situe dans le fait que tu n'initialises pas ton
char * bob;
Fais un new sur bob ou donne lui une taille fixe.
-
j'ai allouée de la memoire a un objet de type char et la sa fonctionne.Cependant je ne comprend pas pourquoi avec scanf ma premiere declaration fonctionne alors que avec cin je dois allouer l'espace mémoire.
-
essaye en déclarant ta variable bob comme un string
-
c pas #include<stdio.h> mais #include "stdio.h"
salut!!-
-
@Utilisateur anonymeapres avoir inclut iostream tu dois meme using namespace std;
#include<iostream>
using namespace std;
-
-
Bonjour,
Dans le cas d'un fichier qui est inclus avec son emplacement exacte il faut mettre "". Autrement dit, si le fichier doit être trouvé à partir d'une variable d'environnement ou d'un paramètre du compilateur c'est entre chevrons.
M. -
c est du c ou du c++
car si c'est du c++
il faut pas#include <stdio.h>