Peut fscanf() lecture espaces?

J'ai déjà un peu de code pour lire un fichier texte à l'aide de fscanf(), et maintenant j'ai besoin de les modifier de sorte que les champs qui ont été précédemment espaces libres doivent permettre d'espaces. Le fichier texte est essentiellement sous la forme de:

titre: les DONNÉES

titre: les DONNÉES

etc...

qui est fondamentalement analysée à l'aide de fgets(inputLine, 512, inputFile); sscanf(inputLine, "%*s %s", &data);, en lisant les champs de DONNÉES et d'ignorer les titres, mais maintenant certains champs de données doivent permettre d'espaces. J'ai encore besoin d'ignorer le titre et les espaces immédiatement après, mais il faut lire dans le reste de la ligne, y compris les espaces.

Est-il de toute façon pour ce faire avec le sscanf() fonction?

Si non, quel est le plus petit changement je peux faire le code pour gérer les espaces correctement?

Mise à JOUR: j'ai édité la question de remplacer fscanf() avec fgets() + sscanf(), qui est ce que mon code est en fait l'utilisation. Je ne pense pas vraiment qu'elle l'était lorsque j'ai d'abord écrit la question qui est pourquoi je l'ai simplifié à fscanf().

  • Si vous avez utilisé pour analyser en utilisant scanf, vous pouvez également analyser quelque chose comme title: DATA title: DATA (c'est à dire sur une seule ligne). Si vous souhaitez autoriser les espaces dans des valeurs, puis ce sera le terminator? Si un saut de ligne, alors, il semble que votre code d'origine a été un peu trop laxiste...
  • Aussi, comment voulez-vous décider de la taille de str tampon, et comment vous assurez-vous qu'il ne déborde pas?
  • oui, lorsque les DONNÉES peuvent avoir des espaces de la nouvelle ligne sera utilisée comme terminator