Mở file chế độ đọc. Nếu file tồn tại, đếm số dòng. Nếu không tồn tại, báo lỗi.
File là tập hợp bản ghi hoặc vị trí lưu trữ vĩnh viễn trên ổ cứng.
Các thao tác file
- Đặt tên file
- Mở file
- Đọc file
- Ghi file
- Đóng file
Cú pháp mở file
FILE *File_pointer; // Ví dụ: FILE *fptr;
File_pointer = fopen("File_name", "mode");
// Ví dụ:
fptr = fopen("sample.txt", "r");
FILE *fp = fopen("sample.txt", "w");
Chương trình 1: Đếm dòng file có sẵn
#include <stdio.h>
#define FILENAME "Employee Details.txt"
int main() {
FILE *fp;
char ch;
int linesCount = 0;
fp = fopen(FILENAME, "r");
if (fp == NULL) {
printf("File \"%s\" không tồn tại!!!\n", FILENAME);
return -1;
}
while ((ch = getc(fp)) != EOF) {
if (ch == '\n') linesCount++;
}
fclose(fp);
printf("Tổng số dòng: %d\n", linesCount);
return 0;
}
Kết quả chương trình 1
Tổng số dòng: 3
Lưu ý: file Employee Details.txt chứa:
Pinky 20 5000.000000
Tổng 3 dòng
Chương trình 2: Tạo file mới rồi đếm dòng
#include <stdio.h>
#define FILENAME "sample.txt"
int main() {
FILE *fp;
char ch;
int linesCount = 0;
// Tạo file ghi
fp = fopen(FILENAME, "w");
printf("Nhập văn bản (Ctrl+Z kết thúc):\n");
while ((ch = getchar()) != EOF) {
fputc(ch, fp);
}
fclose(fp);
// Đọc đếm dòng
fp = fopen(FILENAME, "r");
if (fp == NULL) {
printf("File \"%s\" không tồn tại!!!\n", FILENAME);
return -1;
}
while ((ch = getc(fp)) != EOF) {
if (ch == '\n') linesCount++;
}
fclose(fp);
printf("Tổng số dòng: %d\n", linesCount);
return 0;
}
Kết quả chương trình 2
Nhập văn bản (Ctrl+Z kết thúc):
Hi welcome to Tutorials Point
C Programming Question & answers
^Z
Tổng số dòng: 2