Lire une chaine de caractere

Résolu
rose_de_sable Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
rose_de_sable Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai entrain de programmer un mini shell sous C.
je doit lire une chaine de caractere (les commandes); j'ai fais gets(chaine) voila ce qu est agffiché:
warning: the `gets' function is dangerous and should not be used.
quand je fait scanf("%s",chaine) il lit que les lettre avant l'espace
par ex:
scanf("%s",chaine);
printf("%s",chaine);
si je fait tp systeme
il m'affiche que tp danc chaine=tp
j'ai pas compris pour quoi
qlqun peut m'aider!!!!!


merci
A voir également:

3 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
gets ne doit pas être utilisé, la fonction est trop dangereuse. Tout comme scanf("%s";...) sans contrôle de chaîne.
Utilise fgets(chaine, sizeof chaine, stdin);
Attention, cela stockera aussi le \n s'il y a de la place. Mais tu peux l'enlever facilement.
Cdlt
1
rose_de_sable Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai oublier de dire que je travaille avec ubuntu 8.10
et codeblocks
0
rose_de_sable Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
merci bcp
sa marche tres bien...
0