CHƯƠNG 9: LẬP TRÌNH VỚI TẬP TIN
Nội dung
Tập tin n bản
Tập tin nhphân
Con trỏ chỉ vị
Vùng đệm
Đóng mtậ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 nhphân
Khái nim
Tập tin 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ữ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ó thtruy xuất lại các dữ liệu này.
Tập tin văn bản
Đây các tâp tin có thxem và chỉnh sửa nội dung các tập tin bằng các
chương tnh soạn thảo n bản đơn giản như: các hsoạn thảo mã nguồn
chương tnh, chương tnh Notepad của Windows, …
Mỗi tâp tin văn bản được lưu trữới dạng n bản(text) gồm nhiều dòng.
Tập tin nh phân
Đây tất cả các tập tin khác không có dạng văn bản. Mỗi tập tin nhphân
do một phần mềm nào tạo ra thì sẽ có cấu trúc do phần mềm đó quy định.
Một số loại tập tin nhphân thông dụng như:
Các tâp tin mã thực thi trên các hđiều hành: *.exe, *.com
Các tập tin văn bản phức hợp: *.doc
Các tập tin bảng tính: *.xls
Các tập tin hình ảnh: *.bmp, *.gif,
Con trỏ ch vị
Khi một tập tin được mđể chuẩn bị m việc, tùy theo cách thức mtập
tin, một con trỏ chỉ vị sẽ được đặt tại vị trí đầu tập tin hoặc tại ví t cuối tập
tin. Mỗi thao tác đọc/ghi sẽ tác động n con trỏ chỉ vị của tâp tin, dữ liệu
tại đó sẽ bị thay đổi nếu đó là thao tác ghi n tập tin. Sau khi thực hiện một
thao tác đọc/ghi, con trỏ chỉ vị tđộng được dời đi một số byte đúng bằng
số byte đọc/ghi . Một thao tác đọc/ghi kế tiếp sẽ tác động n vị t mới của
con trỏ chỉ vị trên tập tin.
ng đm
Mỗi lần đọc/ghi thì thường tiến hành trên vùng đệm chứ không hẳn trên tập
tin. Chẳng hạn khi ghi một số nguyên thì số được đưa vào vùng đệm và khi
nào đầy thì vùng đệm mới được đẩy n đĩa. Khi đọc, thông tin được lấy t
vùng đệm, và chkhi nào vùng đệm đã trống rỗng thì máy mới lấy dữ liệu
tđĩa chứa vào vùng đệm. Việc sử dụng vùng đệm sẽ giảm số lần nhập
xuất trên đĩa và nâng cao tốc tốc độ làm việc.
Đóng mtập tin, xóa vùng đm
Các hàm trong mc này dùng chung cho hai kiểu nhphân và văn bản
FILE *fopen(char *têntậptin, char *kiểu);
Kiểu có thcó các g 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 nhphâ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 nhphâ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 nhphân. Nếu
tập tin chưa tồn tại thì tạo tập tin mới.
“r+” “r+t Mở một tập tin để đọc/ghi theo kiểu n bản. Tập tin cần
tồn tại nếu không sẽ có lỗi.
”w+” “w+t Mở một tập tin mới để đọc/ghi theo kiểu văn bản. Nếu tập
tin đãõ tồn tại nó bị xóa.
“a+” “a+t Mở một tập tin để đọc/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.
“r+b” Mở một tập tin để đọc/ghi theo kiểu nhphân. Tập tin cần
tồn tại nếu không sẽ có lỗi.
“w+b” Mở một tập tin mới để đọc/ghi theo kiểu nhphân. Nếu
tập tin đãõ tồn tại nó bị xóa.
“a+b” Mở một tập tin để đọc/ghi bổ sung theo kiểu nhphân.
Nếu tập tin chưa tồn tại thì tạo tập tin mới.