Comment lire précisément les données formatées à partir d'un fichier?
Je suis censé lire les entrées et les arguments à partir d'un fichier similaires à ce format:
Add id:324 name:"john" name2:"doe" num1:2009 num2:5 num2:20
Le problème est que je ne suis pas autorisé à utiliser fgets. J'ai essayé avec fscanf mais n'ont aucune idée de comment ignorer le ":" et séparer la chaîne "nom":"jean" '.
Pourquoi n'êtes-vous pas autorisé à utiliser fgets? Est-ce un devoir?
OriginalL'auteur marr | 2011-01-14
Vous devez vous connecter pour publier un commentaire.
Si vous savez que le fichier d'entrée doit être bien formé, très précis format,
fscanf()
est toujours une option, à faire beaucoup de travail pour vous. Ci-dessous j'utilisesscanf()
au lieu de cela juste pour illustrer, sans avoir à créer un fichier. Vous pouvez modifier l'appel de l'utilisationfscanf()
pour votre fichier.Sorties:
Sinon, je voudrais analyser manuellement l'entrée de la lecture d'un caractère à la fois ou de ou de le jeter dans un tampon si, pour quelque raison que ce soit à l'aide de
fgets()
n'était pas autorisé. Il est toujours plus facile d'avoir ce tampon que pas à mon humble avis. Ensuite, vous pouvez utiliser d'autres fonctions telles questrtok()
et autres joyeusetés à faire l'analyse.OriginalL'auteur Jeff Mercado
c'est peut-être ce que vous voulez ?
Si la sortie de il sera
OriginalL'auteur P M