2011-12-17 4 views
2

J'essaie de lire des chaînes sans virgules et points en utilisant fscanf().Ignorer les virgules et les points en utilisant fscanf()

entrée Exemple:

«M. et Mme Dursley, du numéro quatre, Privet Drive, étaient fiers de dire qu'ils étaient tout à fait normal, je vous remercie beaucoup »

Je veux lire « M. », « Mme » et « Dursley » à chaque fois par exemple

J'ai essayé plusieurs façons de le faire en utilisant des arguments facultatifs, mais j'échoué. Comment puis-je ignorer les virgules et les points en utilisant fscanf()?

Répondre

1

Pour ce faire, vous pouvez utiliser the regex feature of sscanf.

#include <stdio.h> 


int main() 
{ 
    char *str = "Mr. Fiddle Tim went to the mall. Mr. Kurdt was there. Mrs. Love was there also. " 
    "They said hi and ate ice cream together." ; 

    char res[800] = { 0 }; 
    sscanf(str, "%800[^.,]", res) ; 
    puts(str) ; 
} 

Pour continuer, vous devrez utiliser pour identifier la façon dont ont été appariés beaucoup de caractères la valeur de retour de sscanf (ou fscanf). Je vous laisse ça.

Questions connexes