C++ pointeur char ,cin et cout

jango -  
 blblb -
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

8 réponses

blblb
 
c est du c ou du c++
car si c'est du c++
il faut pas
#include <stdio.h> 
1
max_80
 
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..>!
0
jango
 
merci de ta reponse deja..
mais j'ai essayé ce que tu m'as dit mais ça ne change rien.
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
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.
0

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

Posez votre question
jango
 
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.
0
Utilisateur anonyme
 
essaye en déclarant ta variable bob comme un string
-2
Mahmah Messages postés 496 Date d'inscription   Statut Membre Dernière intervention   125
 
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.
-2
kev
 
c pas #include<stdio.h> mais #include "stdio.h"

salut!!
-3
Utilisateur anonyme
 
tout dépend de où se trouve stdio.h

si tu veux préciser son emplacement il faut utiliser les " ", donc d'apres ce que tu di, stdio.h serait dans le même répertoire que le programme

si c'est une libraire commune à tout les programmes (comme string, iostream etc) alors il faut utiliser les < >
-1
silouane > Utilisateur anonyme
 
apres avoir inclut iostream tu dois meme using namespace std;
#include<iostream>
using namespace std;
0