Bài giảng ngôn ngữ lập trình c chương 9 lập trình với tập tin - Pdf 32

CHƯƠNG 9: LẬP TRÌNH VỚI TẬP TIN


Nội dung
Tập tin văn bản
Tập tin nhị phân
Con trỏ chỉ vị
Vùng đệm
Đóng mở tập tin, xóa vùng đệm
Nhập xuất ký tự
Các hàm nhập xuất theo kiểu văn bản
Các hàm nhập xuất theo kiểu nhị phân









Khái niệm
Tập tin là tập hợp các thông tin được đóng gói trên thiết bị lưu trữ.
Khi sử dụng tập tin dữ liệu được lưu trữ lâu dài và không bị mất khi tắt
máy tính. Ngoài ra khi cần thiết có thể truy xuất lại các dữ liệu này.
Tập tin văn bản
Đây là các tâp tin có thể xem và chỉnh sửa nội dung các tập tin bằng các
chương trình soạn thảo văn bản đơn giản như: các hệ soạn thảo mã nguồn
chương trình, chương trình Notepad của Windows, …
Mỗi tâp tin văn bản được lưu trữ dưới dạng văn bản(text) gồm nhiều dòng.
Tập tin nhị phân

Đóng mở tập tin, xóa vùng đệm
• Các hàm trong mục này dùng chung cho hai kiểu nhị phân và văn bản
 FILE *fopen(char *têntậptin, char *kiểu);
• Kiểu có thể có các giá trị sau:
• “”r” “rt”
Mở một tập tin để đọc theo kiểu văn bản. Tập tin cần tồn
tại nếu không sẽ có lỗi.
• ”w” “wt”
Mở một tập tin mới để ghi theo kiểu văn bản. Nếu tập tin
đã tồn tại nó bị xóa.
• “a” “at”
Mở một tập tin để ghi bổ sung theo kiểu văn bản. Nếu tập
tin chưa tồn tại thì tạo tập tin mới.
• “rb”
Mở một tập tin để đọc theo kiểu nhị phân. Tập tin cần tồn
tại nếu không sẽ có lỗi.
• “wt”
Mở một tập tin mới để ghi theo kiểu nhị phân. Nếu tập tin
đãõtồn tại nó bị xóa.
• “at”
Mở một tập tin để ghi bổ sung theo kiểu nhị phân. Nếu
tập tin chưa tồn tại thì tạo tập tin mới.









hàm trả về giá trị EOF(số -1).
 int fflush(FILE *fp);
• Hàm dùng làm sạch vùng đệm của tập tin fp. Nếu thành công hàm trả về
giá trị 0, ngược lại hàm trả về giá trị EOF( số -1).
 int feof(FILE fp);
• Hàm dùng để kiểm tra cuối tập tin. Hàm trả về giá trị khác 0 nếu gặp cuối
tập tin khi đọc, ngược lại hàm trả về giá trị 0.


Nhập xuất ký tự
• Các hàm sau đây dùng được trong cả kiểu nhị phân và kiểu văn bản.
 int fputc(int ch, FILE *fp);
• Hàm ghi lên tập tin một ký tự có mã ch%256 trong đó ch được xem là số
nguyên không dấu. Nếu thành công hàm trả về mã ký tự được ghi, ngược
lại hàm trả về EOF.
 int fgetc(FILE *fp);
• Hàm đọc một ký tự từ tâp tin fp. Nếu thành công hàm trả về mã đọc được
(có giá trị từ 0 đến 255), ngược lại nếu gặp cuối tập tin hay có lỗi hàm trả
về EOF.


Các hàm nhập xuất theo kiểu văn bản
 int fprintf(FILE *fp, “chuỗi định dạng”[, danh sách các đối]);
• Giá trị của các đối được ghi lên tập tin fp theo khuôn dạng xác định trong
chuỗi định dạng. Nếu thành công hàm trả về một giá trị nguyên bằng số
byte ghi lên tập tin, ngược lại hàm trả vế EOF.
 int fscanf(FILE *fp, “chuỗi định dạng”[, danh sách các đối]);
• Đọc dữ liệu từ tập tin fp, biến đổi theo khuôn dạng xác định trong chuỗi
định dạng và lưu kết quả vào đối. Hàm trả về một giá trị bằng số trường
đọc được.

Nếu thành công hàm trả về vị trí hiện tại của con trỏ chỉ vị (byte thứ mấy
trên tâp tin fp). Số thứ tự của byte được tính từ 0. Nếu có lỗi hàm trả về 1L.




Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status