salut à tous,
je susi entrain de developper, mais je bloke ici,:
je veux savoir comment parcourir une ligne caracter par catere pour extraire les mots sachant que les mots sont separés par un espace.
merci
PS : je programme avec C
salut à tous,
je susi entrain de developper, mais je bloke ici,:
je veux savoir comment parcourir une ligne caracter par catere pour extraire les mots sachant que les mots sont separés par un espace.
merci
PS : je programme avec C
Bonjour,
Au vu des discussions que tu a placé dans le forum C, je ne saurais que trop te conseiller de commencer par ouvrir et lire un bon livre sur le C !
Bonne journée.
Vincent Rogier.
Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog
Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !
OCILIB (C Driver for Oracle)
Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
extrait du man :
chaine[i] permet d'atteindre le i+1 éme caractere.( le premier indice est le 0)char * fgets (char * s, int size, FILE * stream);
fgets() lit au plus size - 1 caractères depuis stream et les place dans
le tampon pointé par s. La lecture s’arrête après EOF ou un retour-
chariot. Si un retour-chariot (newline) est lu, il est placé dans le
tampon. Un octet nul « \0 » est placé à la fin de la ligne.
Si c'est une fonction de la bibliothèque standard que tu cherches, il y a strtok. Si tu veux développer une fonction perso, c'est pas bien compliqué. Commence d'abord par un programme qui parcoure la chaîne et affiche tous les mots de la chaîne (les mots sont séparés par un espace). Soit s la chaîne à découper.
A améliorer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 char mot[MAX_MOT]; int i = 0, j = 0, ok = 0; while (!ok) /* Tant qu'on n'a pas encore termine */ { if (s[i] == ' ' || s[i] == '\0') /* Si on rencontre un espace ou le caractere de fin de chaine */ { mot[j] = '\0'; /* On termine le mot */ if (j != 0) /* Et si la longueur du mot n'est pas nulle */ { printf("%s\n", mot); /* On l'affiche */ j = 0; /* Puis on repart avec un nouveau mot */ } if (s[i] == '\0') /* Si c'etait le caractere de fin de chaine */ ok = 1; /* On n'a plus rien a faire */ } else { mot[j] = s[i]; /* On copie le caractere */ j++; /* Et on prepare la position du prochain caractere */ } i++; }
Partager