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