Làm thế nào để đếm số dòng dữ liệu của file trong C?

Bạn có thể sử dụng hàm fgets để đếm từng dòng của file, sử dụng vòng lặp while lấy giá trị trả về của hàm fgets làm điều kiện dừng, đếm đến khi nào gặp dòng cuối cùng của file, hàm fgets trả về giá trị NULL, vòng lặp sẽ kết thúc, lúc đó bạn sẽ lấy được tổng số dòng sau một hồi tăng biến đếm row cho mỗi dòng trong file được đọc thành công.

#include <stdio.h>

int demSoDong(const char *file_path) {
    char buff[500];
    FILE *f = fopen(file_path, "r");

    if (f == NULL) {
        printf("Khong the mo file de doc.\n");
        return -1;
    }

    int row = 0;
    while (fgets(buff, 500, (FILE*)f)) {
        row++;
    }

    fclose(f);
    return row;
}

int main() {
    int soDong = demSoDong("ten_file.txt");
    printf("%d\n", soDong);
}