1. Trang chủ
  2. » Công Nghệ Thông Tin

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

9 292 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

CHƯƠNG 9: LẬP TRÌNH VỚI TẬP TIN • Nội dung Tập tin văn Tập tin nhị phân Con trỏ 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 Các hàm nhập xuất theo kiểu nhị phân       Khái niệm Tập tin tập hợp thông tin đóng gói thiết bị lưu trữ Khi sử dụng tập tin liệu lưu trữ lâu dài không bị tắt máy tính Ngoài cần thiết truy xuất lại liệu Tập tin văn Đây tâp tin xem chỉnh sửa nội dung tập tin chương trình soạn thảo văn đơn giản như: hệ soạn thảo mã nguồn chương trình, chương trình Notepad Windows, … Mỗi tâp tin văn lưu trữ dạng văn bản(text) gồm nhiều dòng Tập tin nhị phân Đây tất tập tin khác dạng văn Mỗi tập tin nhị phân phần mềm tạo có cấu trúc phần mềm quy định Một số loại tập tin nhị phân thông dụng như:  Các tâp tin mã thực thi hệ điều hành: *.exe, *.com  Các tập tin vă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ỏ vị Khi tập tin mở để chuẩn bị làm việc, tùy theo cách thức mở tập tin, trỏ vị đặt vị trí đầu tập tin ví trí cuối tập tin Mỗi thao tác đọc/ghi tác động lên trỏ vị tâp tin, liệu bị thay đổi thao tác ghi lên tập tin Sau thực thao tác đọc/ghi, trỏ vị tự động dời số byte số byte đọc/ghi Một thao tác đọc/ghi tác động lên vị trí trỏ vị tập tin Vùng đệm Mỗi lần đọc/ghi thường tiến hành vùng đệm không hẳn tập tin Chẳng hạn ghi số nguyên số đưa vào vùng đệm đầy vùng đệm đẩy lên đĩa Khi đọc, thông tin lấy từ vùng đệm, vùng đệm trống rỗng máy lấy liệu từ đĩa chứa vào vùng đệm Việc sử dụng vùng đệm giảm số lần nhập xuất đĩa nâng cao tốc tốc độ làm việc Đóng mở tập tin, xóa vùng đệm • Các hàm mục dùng chung cho hai kiểu nhị phân văn  FILE *fopen(char *têntậptin, char *kiểu); • Kiểu có giá trị sau: • “”r” “rt” Mở tập tin để đọc theo kiểu văn Tập tin cần tồn không có lỗi • ”w” “wt” Mở tập tin để ghi theo kiểu văn Nếu tập tin tồn bị xóa • “a” “at” Mở tập tin để ghi bổ sung theo kiểu văn Nếu tập tin chưa tồn tạo tập tin • “rb” Mở tập tin để đọc theo kiểu nhị phân Tập tin cần tồn không có lỗi • “wt” Mở tập tin để ghi theo kiểu nhị phân Nếu tập tin đãõtồn bị xóa • “at” Mở tập tin để ghi bổ sung theo kiểu nhị phân Nếu tập tin chưa tồn tạo tập tin • • • • • • “r+” “r+t” Mở tập tin để đọc/ghi theo kiểu văn Tập tin cần tồn không có lỗi ”w+” “w+t” Mở tập tin để đọc/ghi theo kiểu văn Nếu tập tin đãõ tồn bị xóa “a+” “a+t” Mở tập tin để đọc/ghi bổ sung theo kiểu văn Nếu tập tin chưa tồn tạo tập tin “r+b” Mở tập tin để đọc/ghi theo kiểu nhị phân Tập tin cần tồn không có lỗi “w+b” Mở tập tin để đọc/ghi theo kiểu nhị phân Nếu tập tin đãõ tồn bị xóa “a+b” Mở tập tin để đọc/ghi bổ sung theo kiểu nhị phân Nếu tập tin chưa tồn tạo tập tin • Hàm dùng để mở tập tin Nếu thành công hàm cho trỏ kiểu FILE ứng với tập tin vừa mở Các hàm thao tác tập tin làm việc với tập tin thông qua trỏ Nếu có lỗi hàm trả giá trị NULL • Chú ý: Trong kiểu đọc/ghi, cần làm vùng đệm trước chuyển từ đọc sang ghi từ ghi sang đọc  int fclose(FILE *fp); • Hàm dùng để đóng tập tin Nếu thành công hàm trả giá trị 0, ngược lại hàm trả giá trị EOF(số -1)  int fflush(FILE *fp); • Hàm dùng làm vùng đệm tập tin fp Nếu thành công hàm trả giá trị 0, ngược lại hàm trả giá trị EOF( số -1)  int feof(FILE fp); • Hàm dùng để kiểm tra cuối tập tin Hàm trả giá trị khác gặp cuối tập tin đọc, ngược lại hàm trả giá trị Nhập xuất ký tự • Các hàm sau dùng kiểu nhị phân kiểu văn  int fputc(int ch, FILE *fp); • Hàm ghi lên tập tin ký tự có mã ch%256 ch xem số nguyên không dấu Nếu thành công hàm trả mã ký tự ghi, ngược lại hàm trả EOF  int fgetc(FILE *fp); • Hàm đọc ký tự từ tâp tin fp Nếu thành công hàm trả mã đọc (có giá trị từ đến 255), ngược lại gặp cuối tập tin hay có lỗi hàm trả EOF Các hàm nhập xuất theo kiểu văn  int fprintf(FILE *fp, “chuỗi định dạng”[, danh sách đối]); • Giá trị đối ghi lên tập tin fp theo khuôn dạng xác định chuỗi định dạng Nếu thành công hàm trả giá trị nguyên 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 đối]); • Đọc liệu từ tập tin fp, biến đổi theo khuôn dạng xác định chuỗi định dạng lưu kết vào đối Hàm trả giá trị số trường đọc  •  •  •  •  • Các hàm nhập xuất theo kiểu nhị phân int fwrite(coid *ptr, int size, int n, FILE *fp); Ghi n mẫu tin kích thước size byte từ vùng nhớ trỏ ptr lên tập tin fp Hàm trả gí trị số mẫu tin thực ghi int fread(coid *ptr, int size, int n, FILE *fp); Đọc n mẫu tin kích thước size byte từ tập tin fp chứa vào vùng nhớ trỏ ptr Hàm trả gí trị số mẫu tin thực đọc void rewind(FILE *fp); Chuyển trỏ vị tập tin fp đầu tập tin Khi việc truy xuất tập tin fp thực từ đầu tập tin int fseek(FILE *fp, long sb, int xp); Hàm di chuyển trỏ vị tập tin từ vị trí xác định xp qua số byte giá trị tuyệt đối sb Chiều di chuyển vế cuối tập tin sb dương, ngược lại di chuyển vế phía đầu tập tin Nếu thành công hàm trả giá trị 0, ngươc lại hàm trả vế giá trị khác không long ftell(FILE *fp); Nếu thành công hàm trả vị trí trỏ vị (byte thứ tâp tin fp) Số thứ tự byte tính từ Nếu có lỗi hàm trả 1L ...  C c tập tin vă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ỏ vị Khi tập tin mở để chuẩn bị làm vi c, tùy theo c ch th c mở tập tin, trỏ... tập tin để đ c/ ghi bổ sung theo kiểu nhị phân Nếu tập tin chưa tồn tạo tập tin • Hàm dùng để mở tập tin Nếu thành c ng hàm cho trỏ kiểu FILE ứng với tập tin vừa mở C c hàm thao t c tập tin làm... Nếu tập tin chưa tồn tạo tập tin “r+b” Mở tập tin để đ c/ ghi theo kiểu nhị phân Tập tin c n tồn không c lỗi “w+b” Mở tập tin để đ c/ ghi theo kiểu nhị phân Nếu tập tin đãõ tồn bị xóa “a+b” Mở tập

Ngày đăng: 03/12/2015, 20:40

Xem thêm: Bài giảng ngôn ngữ lập trình c chương 9 lập trình với tập tin

TỪ KHÓA LIÊN QUAN

w