Pb récupération chaine de caractères [Résolu]

Signaler
Messages postés
12
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
5 juin 2009
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Salut ;)
Je voulais savoir comment je pourrais faire pour récuperer le mot entré par l'utilisateur dans la console?J'aimerai garder mon char *mot.Mon code comporte un ou des erreur je sais j'ai besoin d'un petit coup de main.Merci d'avance.Voici mon code:

int main(int argc, char *argv[])
{
  char *mot;
  //Passage du mot par argument dans l'exécution console
  //mot=argv[1];
  printf("Veuillez entrer le mot a tester?\n");
  scanf("%s",&mot);
  printf("%s",mot);
}

3 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
char* mot est un pointeur sur une zone de mémoire qui contiendra le texte; seulement là tu ne lui alloues pas de mémoire donc il pointe sur rien. Tu peux le remplacer par char mot[0x20]; ou la taille que tu veux; ainsi le pointeur mot est initialisé sur une zone de mémoire de taille 32 réservée dans la pile.
Messages postés
12
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
5 juin 2009

Je pensais que il y avait un autre moyen en gardant mon char *mot mais pas grave. j'ai fais comme tu as dit sa marche. jte remercie :)
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Oui il y a un autre moyen: En allouant la mémoire dynamiquement (malloc, free) mais pour si peux, c'est inutile.

C++ (@++)<!--