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
Configuration: Windows XP
Firefox 2.0.0.3

8 réponses

  1. 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
    1. merci de ta reponse deja..
      mais j'ai essayé ce que tu m'as dit mais ça ne change rien.
      0
      1. 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
        1. 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
          1. essaye en déclarant ta variable bob comme un string
            -2
            1. c pas #include<stdio.h> mais #include "stdio.h"

              salut!!
              -3
              1. 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
              2. @Utilisateur anonymeapres avoir inclut iostream tu dois meme using namespace std;
                #include<iostream>
                using namespace std;
                0
            2. 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
              1. c est du c ou du c++
                car si c'est du c++
                il faut pas
                #include <stdio.h> 
                1