
Bài giảng lập trình c căn bản - Trường Apptech - Chương 12
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng lập trình c căn bản - Trường Apptech - Chương 12 Quản lý tập tin Bài 12 Mục tiêu Giải thích streams và file Thảo luận về các streams văn bản và streams nhị phân Giải thích các hàm xử lý tập tin Giải thích về con trỏ tập tin Thảo luận về con trỏ hiện hành Giải thích về các đối số dòng lệnh Elementary Programming with C/Session 12/ Slide 2 of 28 Tin Tất cả các thao tác nhập/xuất trong C đều được thực hiện bằng các hàm trong thư viện chuẩn Tiếp cận này làm cho hệ thống tập tin của C rất mạnh và uyển chuyển Nhập/xuất trong C có thể theo 2 cách: dữ liệu có thể truyền ở dạng biễu diễn nhị phân bên trong của nó hay ở dạng văn bản mà con người có thể đọc được Elementary Programming with C/Session 12/ Slide 3 of 28 Streams Hệ thống tập tin của C làm việc với rất nhiều thiết bị khác nhau bao gồm máy in, ổ đĩa, ổ băng từ và các thiết bị đầu cuối Mặc dù tất cả các thiết bị đều khác nhau, hệ thống tập tin có vùng đệm sẽ chuyển mỗi thiết bị về một thiết bị logic gọi là một stream Vì mọi streams đều hoạt động tương tự, nên việc quản lý các thiết bị khác nhau rất dễ dàng Có hai loại streams – stream văn bản và stream nhị phân Elementary Programming with C/Session 12/ Slide 4 of 28 Bản Một streams văn bản là một chuỗi các ký tự có thể được tổ chức thành các dòng kết thúc bằng một ký tự sang dòng mới Trong một stream văn bản, có thể xảy ra một vài sự chuyển đổi ký tự khi môi trường yêu cầu Vì vậy, mối quan hệ giữa các ký tự được ghi (hay đọc) và những ký tự ở thiết bị ngoại vi có thể không phải là mối quan hệ một-một Và cũng vì sự chuyển đổi có thể xảy ra này, số lượng ký tự được ghi (hay đọc) có thể không giống như số lượng ký tự ở thiết bị ngoại vi Elementary Programming with C/Session 12/ Slide 5 of 28 Streams Nhị Phân Một streams nhị phân là một chuỗi các byte với sự tương ứng một-một với thiết bị ngoại vi, nghĩa là, không có sự chuyển đổi ký tự. Số lượng byte đọc (hay ghi) cũng sẽ giống như số lượng byte ở thiết bị ngoại vi Các stream nhị phân là các chuỗi byte thuần túy, mà không có bất kỳ ký hiệu nào dùng để chỉ ra điểm kết thúc của tập tin hay kết thúc của mẫu tin Kết thúc của tập tin được xác định bằng kích thước của tập tin Elementary Programming with C/Session 12/ Slide 6 of 28 Tin Một tập tin có thể tham chiếu đến bất cứ thứ gì từ một tập tin trên đĩa đến một thiết bị đầu cuối hay một máy in Một tập tin kết hợp với một stream bằng cách thực hiện thao tác mở và ngưng kết hợp bằng thao tác đóng Khi một chương trình kết thúc bình thường, tất cả các tập tin đều tự động đóng Khi một chương trình kết thúc bất thường, các tập tin vẫn còn mở Elementary Programming with C/Session 12/ Slide 7 of 28 Tin Tên Chức năng fopen() Mở một tập tin fclose() Đóng một tập tin fputc() Ghi một ký tự vào một tập tin fgetc() Đọc một ký tự từ một tập tin fread() Đọc từ một tập tin vào một vùng đệm fwrite() Ghi từ một vùng đệm vào tập tin fseek() tìm một vị trí nào đó trong tập tin fprintf() Hoạt động giống như printf(), nhưng trên một tập tin fscanf() Hoạt động giống như scanf(), nhưng trên một tập tin feof() Trả về true nếu đã đến cuối tập tin ferror() Trả về true nếu xảy ra một lỗi rewind() Đặt lại con trỏ định vị trí bên trong tập tin về đầu tập tin remove() Xóa một tập tin fflush() Ghi dữ liệu từ một vùng đệm bênProgramming with C/Session Elementary trong vào một tập tin xác định 12/ Slide 8 of 28 Con Trỏ Tập Tin Một con trỏ tập tin phải cần cho việc đọc và ghi các tập tin Nó là một con trỏ đến một cấu trúc chứa thông tin về tập tin. Thông tin bao gồm tên tập tin, vị trí hiện tại của tập tin, liệu tập tin có đang được đọc hay ghi, và liệu có bất kỳ lỗi nào xuất hiện hay đã đến cuối tập tin Định nghĩa lấy từ studio.h bao gồm một khai báo cấu trúc tên FILE Câu lệnh khai báo duy nhất cần thiết cho một con trỏ tập tin là: FILE *fp Elementary Programming with C/Session 12/ Slide 9 of 28 Bản Hàm fopen() mở một stream để sử dụng và liên kết một tập tin với stream đó Hàm fopen() trả về con trỏ kết hợp với tập tin Nguyên mẫu của hàm fopen() là: FILE *fopen(const char *filename, const char *mode); Chế độ Ý nghĩa R Mở một tập tin văn bản để đọc w Tạo một tập tin văn bản để ghi a Nối vào một tập tin văn bản r+ Mở một tập tin văn bản để đọc/ghi w+ Tạo một tập tin văn bản để đọc/ghi Elementary Programming with C/Session a+f Nối hoặc tạo một tập tin văn bản để đọc/ghi 12/ Slide 10 of 28 Bản Việc đóng một tập tin sau khi sử dụng là một điều quan trọng Thao tác này sẽ giải phóng tài nguyên và làm giảm nguy cơ vượt quá giới hạn số tập tin có thể mở. Đóng một stream sẽ làm sạch và chép vùng đệm kết hợp của nó ra ngoài, một thao tác quan trọng để tránh mất dữ liệu khi ghi ra đĩa Hàm fclose() đóng một stream đã được mở bằng hàm fopen() Nguyên mẫu của hàm fclose() là : int fclose(FILE *fp); Hàm fcloseall() đóng tất cả các streams đang mở Elementary Programming with C/Session 12/ Slide 11 of 28 Ghi Một Ký Tự – Tập Tin Văn Bản Streams có thể được ghi vào tập tin theo cách từng ký tự một hoặc theo từng chuỗi Hàm fputc() được sử dụng để ghi các ký tự vào tập tin đã được mở trước đó bằng hàm fopen(). Nguyên mẫu của hàm này là: int fputc(int ch, FILE *fp); Elementary Program ...
Tìm kiếm theo từ khóa liên quan:
Lập trình c căn bản Bài giảng lập trình c căn bản Tài liệu lập trình Hệ thống tập tin Streams văn bản Streams Nhị PhânTài liệu có liên quan:
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 246 0 0 -
Giáo trình Lập trình C căn bản
135 trang 180 0 0 -
Giáo trình Lập trình C căn bản: Phần 2
71 trang 179 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 174 0 0 -
Giáo trình Hệ điều hành (Operating System)
201 trang 171 0 0 -
Bài giảng Lập trình C căn bản: Chương 4 - Phạm Thế Bảo
34 trang 158 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 141 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 132 0 0 -
Bài giảng Lập trình C căn bản: Chương 5 - Phạm Thế Bảo
85 trang 131 1 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 121 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 6
21 trang 108 0 0 -
Bài giảng Lập trình C căn bản: Chương 2 - Phạm Thế Bảo
31 trang 96 0 0 -
87 trang 84 0 0
-
Giáo trình Hệ điều hành Linux - CĐ Nghề Đắk Lắk
88 trang 75 0 0 -
Bài giảng Nguyên lý hệ điều hành – ThS. Nguyễn Quỳnh Hoa
55 trang 71 0 0 -
Bài giảng Lập trình C căn bản: Chương 3 - Phạm Thế Bảo
68 trang 69 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 3
25 trang 59 0 0 -
Bài giảng Tin học ứng dụng - Chương 2: Hệ điều hành
6 trang 57 0 0 -
Giáo trình về môn Lập trình C căn bản
131 trang 54 0 0 -
Ngân hàng câu hỏi trắc nghiệm về lập trình web ASP.Net (C#)
11 trang 51 0 0