Vous devez vous connecter pour exécuter votre code.

fnlines — Compter les lignes (É 5.4)

É 5.4 — Écrivez la fonction fnlines qui compte le nombre de lignes d'un fichier texte. Gérez le cas où la dernière ligne n'est pas terminée par \n.

#include <stdio.h> long fnlines(const char *filename) { FILE *f = fopen(filename, "r"); if (f == NULL) return -1; long n = 0; int c, last = 0; while ((c = fgetc(f)) != EOF) { if (c == '\n') n++; last = c; } // Si la dernière ligne n'a pas de \n, on la compte quand même if (last != '\n' && last != 0) n++; fclose(f); return n; } int main(int argc, char *argv[]) { if (argc < 2) { printf("-1\n"); return 1; } printf("%ld\n", fnlines(argv[1])); return 0; }