Comment lire une chaine contient des espaces?
asstel
Messages postés
54
Statut
Membre
-
asstel Messages postés 54 Statut Membre -
asstel Messages postés 54 Statut Membre -
Bonjour,
svp
j'ai utilisé printf("%s") mais elle a pris que le premier mot avant l'espace
svp aider moi :)
svp
j'ai utilisé printf("%s") mais elle a pris que le premier mot avant l'espace
svp aider moi :)
10 réponses
-
Bonjour,
Tout d'abord j'aimerais savoir qu'est ce que tu entends par le mot " chaine " . est-ce que tu parles d'un fichier que tu as ouvert puis tu as eu des trucs bizarres ???
Répond moi vite !!! -
nn juste lire une phrase donner par l'utilisateur:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ph[50];
scanf("%s",ph);
printf("%s",ph);
return 0;
} -
t'as trouvé ça où dans un fichier ???
Répond vite !! -
je suis entrain d'ecrire un pgm
parmi les instructions c'est lire le nom d'un livre el le met dans un fichier mais le probleme c'est: printf(%s) recupère que le premier mot avant l'espace -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Mince si c'est une programmation je n'en ai jamais faite je peux pas t'aider plus désolé :(
-
-
-
-
-
-
-
Ben, c'est ce que j'ai dit plus haut :
cela stockera le '\n' s'il y a la place. Mais tu peux l'enlever en le remplaçant par '\0'.
strchr(ch,'\n') te renvoie un pointeur sur le retour chariot s'il existe, sinon strchr() renvoie NULL.
Si strchr() est différent de NULL (donc s'il y a un retour chariot), on le remplace par '\0' (fin de chaîne de caractères).
Si tu débutes vraiment, je te conseille un tuto : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
Cdlt,
-
-
merciiiiiiiii à vous j'ai reglé le probleme :)
merciiii j'ai utiliser gets(ph); -
Bonjour,
Le mieux est d'utiliser fgets(ph, sizeof ph, stdin);
Attention, cela stockera le '\n' s'il y a la place. Mais tu peux l'enlever en le remplaçant par '\0'.
Cdlt,-
-
Oui. Cela résoudra ton problème. Cela permettra à l'utilisateur de rentrer une chaîne de 49 caractères avec des espaces. Mais, cela fait partie des fonctions avancées, et pour bien faire il faudrait également tester la valeur de retour de scanf(). Bref, fgets() est beaucoup plus simple d'utilisation et est généralement conseillé.
-
-
bonjour ,
tu doit replacescanf
pargets(ph)
parce quescanf
ne lie pas les espace;
https://tutodev1.blogspot.com/