fscanf problème avec la lecture en Chaîne

Je suis en train de lire dans un .fichier txt. Je suis en utilisant fscanf pour obtenir les données comme il est formaté.
La ligne je vais avoir des problèmes est: est-ce

result = fscanf(fp, "%s", ap->name);

C'est bien jusqu'à ce que j'ai un nom avec un espace par exemple: St Ives
J'ai donc l'utiliser pour lire dans l'espace blanc:

result = fscanf(fp, "%[^\n]s", ap->name);

Cependant, lorsque j'essaie de lire dans le premier nom (sans espace), il ne fonctionne tout simplement pas et bousille les autres fscanf.

Mais j'utilise le [^\n], il fonctionne très bien dans un autre fichier que j'utilise. Pas sûr de ce qui se passe.

Si j'utilise fgets à la place de la fscanf ci-dessus j'ai "\n" dans la variable.

Edit//

Ok, donc si j'utilise:

result = fscanf(fp, "%s", ap->name);
result = fscanf(fp, "%[^\n]s", ap->name);

Cela me permet de lire dans une chaîne de caractères sans espace blanc. Mais Quand je reçois un "nom" avec un espace qui ne fonctionne pas.

  • Est-il possible que vous avez un supplément de caractère de saut de ligne dans votre fichier?
InformationsquelleAutor jumm | 2009-12-12