Je lis dans un fichier et après avoir lu un nombre, je veux passer à la partie restante de cette ligne. Un exemple d'un fichier est ceSauter le reste de la ligne avec fscanf dans C
2 This part should be skipped
10 and also this should be skipped
other part of the file
Au moment où je résoudre ce problème en utilisant cette boucle:
char c = '\0';
while(c!='\n') fscanf(f, "%c", &c);
Je me demandais si toutefois il n'y a pas une meilleure façon de le faire. J'ai essayé, mais pour une raison quelconque, il ne fonctionne pas:
fscanf(f, "%*[^\n]%*c");
Je me serais attendu à ce tout lire jusqu'à la nouvelle ligne, puis lire aussi la nouvelle ligne. Je n'ai pas besoin du contenu, donc j'utilise l'opérateur *. Cependant, quand j'utilise cette commande, rien ne se passe. Le curseur n'est pas déplacé.
Je suis totalement d'accord. Cependant, utiliser 'fgets' et' sscanf' ne suffit pas si la ligne est plus longue que ce que consomme l'appel 'fgets' et si nvcleemp veut ignorer la partie non lue de la ligne. – jamesdlin
Le format du fichier est un peu plus compliqué. Je l'avais simplifié pour cette question. Mais je peux travailler pour ça. Je vais devoir voir comment je devrais gérer les longues lignes, mais je pense que je peux me limiter à des lignes de longueur inférieure à 1024. – nvcleemp