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. c est du c ou du c++
    car si c'est du c++
    il faut pas
    #include <stdio.h> 
    1
    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. 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 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