Enregistrer entrer standard dans une variable
Résolu/Fermé
tructruc
-
24 déc. 2012 à 14:07
CoKeman Messages postés 9 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 27 décembre 2012 - 26 déc. 2012 à 21:49
CoKeman Messages postés 9 Date d'inscription mardi 25 décembre 2012 Statut Membre Dernière intervention 27 décembre 2012 - 26 déc. 2012 à 21:49
A voir également:
- Enregistrer entrer standard dans une variable
- Rechercher ou entrer l'adresse - Guide
- Audacity enregistrer son pc - Guide
- Entrer les informations d'identification reseau - Guide
- Comment enregistrer une video youtube - Guide
- Comment enregistrer une musique sur youtube en mp3 - Guide
4 réponses
CoKeman
Messages postés
9
Date d'inscription
mardi 25 décembre 2012
Statut
Membre
Dernière intervention
27 décembre 2012
1
25 déc. 2012 à 21:29
25 déc. 2012 à 21:29
Evite d'utiliser le scanf quand tu programme, c'est assez dégeux..
Sinon, essaie comme ça :
scanf("%[^\n]", nom_var);
il faut que nom_var soit de type char * et soit assez grand pour recevoir tout ce que tu comptes lui envoyé, sinon tu vas segfault!
En faisant un "%[^\n]", tu dis : je veux tout ce qu'on tape sur l'entrée standard jusqu'à ce qu'on tape un "\n".
Sinon, essaie comme ça :
scanf("%[^\n]", nom_var);
il faut que nom_var soit de type char * et soit assez grand pour recevoir tout ce que tu comptes lui envoyé, sinon tu vas segfault!
En faisant un "%[^\n]", tu dis : je veux tout ce qu'on tape sur l'entrée standard jusqu'à ce qu'on tape un "\n".
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 déc. 2012 à 20:00
26 déc. 2012 à 20:00
Effectivement, vaut mieux utiliser fgets().
En revanche, si on désire utiliser scanf(), je conseille de préciser la taille pour éviter le segfault comme tu dis :
char buf[16];
scanf("%15[^\n]", buf);
En revanche, si on désire utiliser scanf(), je conseille de préciser la taille pour éviter le segfault comme tu dis :
char buf[16];
scanf("%15[^\n]", buf);
CoKeman
Messages postés
9
Date d'inscription
mardi 25 décembre 2012
Statut
Membre
Dernière intervention
27 décembre 2012
1
26 déc. 2012 à 21:49
26 déc. 2012 à 21:49
Autant pour moi, comme je ne l'utilise jamais j'ai oublier ce petit détail ..