II.1 Các hàm dùng chung cho cả 2 kiểu nhị phân và văn bản.

Một phần của tài liệu Lập trình C (Trang 94 - 96)

II. Các hàm xử lí tập tin trong C:

II.1 Các hàm dùng chung cho cả 2 kiểu nhị phân và văn bản.

• Hàm fopen:

Mẫu : FILE *fopen(const char *tên_file,const char *kiểu_xử_lí); Trong đó : tên_file: là đường dẫn tới file trên đĩa.

kiểu_xử_lí : là xâu với các ý nghĩa sau : Kiểu

Đối với tập tin văn bản

Đối với tập

tin nhị phân Ý nghĩa

“r” “rt” “rb” Mở file đã tồn tại để đọc, nếu không trả về lỗi “w” “wt” “wb” Mở file mới để ghi, nếu file đã tồn tại nó sẽ bị xóa

“a” “at” “ab” Mở file để ghi bổ sung, nếu chưa tồn tại thì tạo file mới “r+” “r+t” “r+b” Mở file để đọc/ghi, nếu file không tồn tại sẽ báo lỗi “w+” “w+t” “w+b” Mở file mới để đọc/ghi, nếu đã tồn tại nó sẽ bị xóa

Công dụng: dùng để mở tập tin, nếu thành công sẽ trả về con trỏ kiểu FILE ứng với tập tin vừa mở, nếu có lỗi trả về NULL.

Chú ý : Trong các kiểu đọc ghi, cần làm sạch vùng đệm trước khi chuyển từ đọc sang ghi hoặc ghi sang đọc nhờ hàm fflush hoặc hàm dịch chuyển vị trí con trỏ.

• Hàm fclose:

Mẫu : int fclose(FILE *tên_trỏ_file);

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin cần đóng. Công dụng : dùng để đóng tập tin, bao gồm các công việc :

- Đẩy dữ liệu còn trong vùng đệm lên đĩa (khi ghi) - Xóa vùng đệm (khi đọc)

- Giải phóng biến tên_trỏ_file, nếu thành công trả về giá trị 0, nếu không : EOF • Hàm fcloseall:

Mẫu : int fcloseall(void);

Công dụng : đóng tất cả các tập tin đang mở, nếu thành công trả về giá trị bằng số tập tin đóng được, nếu không trả về giá trị EOF.

• Hàm fflush:

Mẫu : int fflush(FILE * tên_trỏ_file);

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin đang xử lí.

Công dụng : làm sạch vùng đệm của tập tin, nếu thành công trả về giá trị 0, nếu không trả về EOF

• Hàm fflushall:

Mẫu : int fflushall(void);

Công dụng : làm sạch tất cả vùng đệm của các tập tin đang mở, nếu thành công trả về giá trị bằng số tập tin được làm sạch, nếu không trả về giá trị EOF.

• Hàm ferror

Mẫu : int ferror(FILE * tên_trỏ_file);

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin đang xử lí.

Công dụng : kiểm tra lỗi thao tác trên tập tin, nếu không có lỗi trả về giá trị 0, nếu có lỗi trả về giá trị khác 0.

• Hàm perror:

Mẫu : void perror(const char *s); Trong đó s là con trỏ trỏ tới chuỗi kí tự Công dụng : in chuỗi s và thông báo lỗi. • Hàm feof:

Mẫu : int feof(FILE * tên_trỏ_file); (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin đang xử lí.

Công dụng : kiểm tra kết thúc tập tin, trả về giá trị khác 0 nếu gặp cuối tập tin khi đọc, nếu không trả về giá trị 0.

• Hàm unlink:

Mẫu : int unlink(FILE * tên_trỏ_file);

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin cần xóa.

• Hàm remove:

Mẫu : remove(const char * tên_trỏ_file);

Trong đó : tên_trỏ_file là con trỏ tương ứng với tập tin cần xóa.

Công dụng : xóa tập tin trên đĩa, hàm này là một macro gọi tới hàm unlink.

Các hàm này dùng cho cả 2 kiểu nhị phân và văn bản nhưng có vài điểm khác nhau. • Hàm rename:

Mẫu : rename(const char *f1,const char *f2); Công dụng : Đổi tên tệp f1 thành tệp f2

• Hàm putc và fputc:

Mẫu : int putc(int ch, FILE *con_trỏ_file); int fputc(int ch, FILE *con_trỏ_file);

trong đó ch là một số nguyên, con_trỏ_file là con trỏ tương ứng với tập tin đang xử lí. Công dụng : ghi lên tập tin kí tự có mã bằng m=ch%256 (ch được xem như không dấu). Nếu thành công trả về giá trị mã kí tự được ghi, nếu không trả về giá trị EOF.

• Hàm getc và fgetc:

Mẫu : int getc(FILE *con_trỏ_file); int fgetc(FILE *con_trỏ_file);

trong đó con_trỏ_tập tin là con trỏ tương ứng với tập tin đang xử lí. Công dụng : đọc kí tự từ tập tin, nếu hết tập tin thì trả về EOF.

Một phần của tài liệu Lập trình C (Trang 94 - 96)