Bài giảng Cơ sở lập trình 1: Chương 9 - Lê Quý Tài
Số trang: 32
Loại file: pptx
Dung lượng: 182.04 KB
Lượt xem: 7
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 9 giới thiệu về kiểu dữ liệu tệp với những nội dung cụ thể như: Khái niệm kiểu tệp, các thao tác trên tệp, tệp văn bản, tệp nhị phân, các hàm xử lý tệp, truyền tham số là tệp cho hàm. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở lập trình 1: Chương 9 - Lê Quý Tài Chương 9KIỂU DỮ LIỆU TỆP (File)Khoa Hệ thống thông tin quản lý Hà Nội – 2015Nội dung 1 Khái niệm kiểu tệp 2 Các thao tác trên tệp 3 Tệp văn bản 4 Tệp nhị phân 5 Các hàm xử lý tệp 6 Truyền tham số là tệp cho hàm12/24/15 Chương 9-Kiểu dữ liệu tệp 2/321. Khái niệm kiểu tệp o Tệp n Là tập hợp các dữ liệu có liên quan với nhau và có cùng kiểu được nhóm lại với nhau tạo thành một dãy. n Tệp được chứa trong thiết bị nhớ ngoài à Kích thước và số lượng gần như không hạn chế. o Phân loại tệp n Theo cách truy cập o Tệp truy cập tuần tự: việc đọc một phần tử bất kỳ của tệp bắt buộc phải tuần tự đi qua các phần tử trước đó o Tệp truy cập ngẫu nhiên: có thể truy xuất phần tử bất kỳ của tệp thông qua chỉ số thứ tự phần tử trong tệp12/24/15 Chương 9-Kiểu dữ liệu tệp 3/32Khái niệm kiểu tệp (tt) o Phân loại tệp n Theo bản chất dữ liệu o Tệp văn bản: chứa các kí tự trong bảng mã ASCII không kể đến các kí tự điều khiển. Dữ liệu được lưu thành các dòng, mỗi dòng được kết thúc bằng ký tự xuống dòng là CR (Carriage Return – về đầu dòng, mã 10) và LF (Line Feed – xuống dòng, mã 13). Tệp văn bản kết thúc bằng kí tự EOF (End Of File) có mã 26 (Ctrl + Z) Ví dụ: Các tệp văn bản (text) (*.txt) o Tệp nhị phân: các phần tử là các số nhị phân, và chứa khá nhiều dữ liệu có mã là các kí tự điều khiển. Ví dụ: Các tệp chương trình (*.exe, *.com…)12/24/15 Chương 9-Kiểu dữ liệu tệp 4/32Một số khái niệm o Biến tệp n Là biến thuộc kiểu tệp dùng đại diện cho một tệp tin. n Dữ liệu chứa trong tệp được truy xuất thông qua các thao tác với biến tệp. o Con trỏ tệp n Dùng để xác định vị trí của phần tử hiện tại để đọc hoặc ghi dữ liệu trên tệp. n Khi tệp được mở để đọc hoặc ghi thì con trỏ tệp luôn ở vị trí đầu tệp. n Mỗi khi đọc hoặc ghi trên tệp thì con trỏ tệp tự động tăng lên một khoảng theo đúng số byte vừa đọc hoặc ghi trên tệp.12/24/15 Chương 9-Kiểu dữ liệu tệp 5/322. Các thao tác trên tệp o Các bước cơ bản để xử lý tệp 1.Khai báo biến tệp 2.Mở tệp để ghi hoặc đọc 3.Xử lý dữ liệu trong tệp 4.Đóng tệp o. Các hàm thao tác với tệp trong thư viện stdio.h12/24/15 Chương 9-Kiểu dữ liệu tệp 6/322.1 Khai báo biến tệp o Cú pháp FILE *; n Trong đó, FILE là từ khoá luôn phải có và viết dạng chữ hoa n Các biến tệp là các biến con trỏ o Ví dụ: FILE *f1,*f2; // Khai báo 2 biến tệp f1 và f212/24/15 Chương 9-Kiểu dữ liệu tệp 7/322.2 Mở tệp o Cú pháp =fopen(,); n Trong đó: o Tên tệp: đường dẫn đến tệp trên đĩa (lưu ý, dấu \ được ghi là \\). Tên tệp được đặt theo quy tắc đặt tên. o Kiểu xử lý tệp: xác định cách thức mà tệp được mở n fopen trả về một con trỏ tệp, nếu có lỗi con trỏ trả về NULL o Ví dụ: f1=fopen(“C:\\TC\\VIDU.TXT”,”w”); Mở tệp VIDU.TXT mới để ghi f2=fopen(“C:\\TC\\VIDU.TXT”,”r”);12/24/15Mở tệp VIDU.TXT mới dữ Chương 9-Kiểu đểliệu đọctệp 8/32Các chế độ xử lý tệp Chế độ Ý nghĩa r Mở tệp văn bản để đọc w Mở tệp văn bản để ghi, ghi đè lên tệp đã có a Mở tệp văn bản và ghi nối vào cuối tệp, chưa có tạo mới r+ Mở tệp văn bản để đọc/ghi w+ Mở tệp văn bản để ghi/đọc, ghi đè lên tệp đã có a+ Mở tệp văn bản hoặc tạo mớiđể đọc và ghi nối vào cuối rb Mở tệp nhị phân để đọc wb Mở tệp nhị phânđể ghi, ghi đè lên tệp đã có ab Ghi nối vào tệp nhị phân r+b Mở ra tệp nhị phân để đọc/ghi w+b Tạo ra tệp nhị phân để đọc/ghi a+b Nối vào hay tạo mới tệp nhị phân12/24/15 Chương 9-Kiểu dữ liệu tệp 9/32Ví dụ mở tệp o Mở tệp VIDU.TXT để ghi FILE *f; f = fopen(“VIDU.txt”, “w”); if (f!=NULL) { /* Các câu lệnh để thao tác với tệp*/ /* Đóng tệp */ } else printf(“Loi – Khong mo duoc tep!”); o Chú ý: n Khi mở tệp để ghi mà tệp đã tồn tại rồi thì tệp đó sẽ bị xoá và được thay bằng tệp khác. n Khi mở tệp để đọc thì tệp đó phải tồn tại, nếu không sẽ có lỗi.12/24/15 Chương 9-Kiểu dữ liệu tệp 10/322.3 Các thao tác khác o Hàm đóng tệp fclose(); n Hàm trả về 0 nếu đóng tệp thành công, trả về EOF nếu có lỗi o Hàm kiểm tra kết thúc tệp hay chưa? feof(); n Hàm trả về EOF nếu đã hết tập tin, ngược lại trả về 0 o Hàm di chuyển con trỏ tệp về đầu rewind();12/24/15 Chương 9-Kiểu dữ liệu tệp 11/323. Tệp văn bản o Ghi dữ liệu lên tệp văn bản n putc(ch, f); ghi kí tự ch vào tệp văn bản f, trả về EOF nếu gặp lỗi. n fputs(str,f); ghi xâu str vào tệp văn bản f, trả về 0 nếu str rỗng và trả về EOF nếu gặp lỗi n fprintf(f,chuỗi định dạng, danh sách biểu thức); ghi vào tệp văn bản f các biểu thức với các định dạng được chỉ ra, tương tự hàm printf()12/24/15 Chương 9-Kiểu dữ liệu ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cơ sở lập trình 1: Chương 9 - Lê Quý Tài Chương 9KIỂU DỮ LIỆU TỆP (File)Khoa Hệ thống thông tin quản lý Hà Nội – 2015Nội dung 1 Khái niệm kiểu tệp 2 Các thao tác trên tệp 3 Tệp văn bản 4 Tệp nhị phân 5 Các hàm xử lý tệp 6 Truyền tham số là tệp cho hàm12/24/15 Chương 9-Kiểu dữ liệu tệp 2/321. Khái niệm kiểu tệp o Tệp n Là tập hợp các dữ liệu có liên quan với nhau và có cùng kiểu được nhóm lại với nhau tạo thành một dãy. n Tệp được chứa trong thiết bị nhớ ngoài à Kích thước và số lượng gần như không hạn chế. o Phân loại tệp n Theo cách truy cập o Tệp truy cập tuần tự: việc đọc một phần tử bất kỳ của tệp bắt buộc phải tuần tự đi qua các phần tử trước đó o Tệp truy cập ngẫu nhiên: có thể truy xuất phần tử bất kỳ của tệp thông qua chỉ số thứ tự phần tử trong tệp12/24/15 Chương 9-Kiểu dữ liệu tệp 3/32Khái niệm kiểu tệp (tt) o Phân loại tệp n Theo bản chất dữ liệu o Tệp văn bản: chứa các kí tự trong bảng mã ASCII không kể đến các kí tự điều khiển. Dữ liệu được lưu thành các dòng, mỗi dòng được kết thúc bằng ký tự xuống dòng là CR (Carriage Return – về đầu dòng, mã 10) và LF (Line Feed – xuống dòng, mã 13). Tệp văn bản kết thúc bằng kí tự EOF (End Of File) có mã 26 (Ctrl + Z) Ví dụ: Các tệp văn bản (text) (*.txt) o Tệp nhị phân: các phần tử là các số nhị phân, và chứa khá nhiều dữ liệu có mã là các kí tự điều khiển. Ví dụ: Các tệp chương trình (*.exe, *.com…)12/24/15 Chương 9-Kiểu dữ liệu tệp 4/32Một số khái niệm o Biến tệp n Là biến thuộc kiểu tệp dùng đại diện cho một tệp tin. n Dữ liệu chứa trong tệp được truy xuất thông qua các thao tác với biến tệp. o Con trỏ tệp n Dùng để xác định vị trí của phần tử hiện tại để đọc hoặc ghi dữ liệu trên tệp. n Khi tệp được mở để đọc hoặc ghi thì con trỏ tệp luôn ở vị trí đầu tệp. n Mỗi khi đọc hoặc ghi trên tệp thì con trỏ tệp tự động tăng lên một khoảng theo đúng số byte vừa đọc hoặc ghi trên tệp.12/24/15 Chương 9-Kiểu dữ liệu tệp 5/322. Các thao tác trên tệp o Các bước cơ bản để xử lý tệp 1.Khai báo biến tệp 2.Mở tệp để ghi hoặc đọc 3.Xử lý dữ liệu trong tệp 4.Đóng tệp o. Các hàm thao tác với tệp trong thư viện stdio.h12/24/15 Chương 9-Kiểu dữ liệu tệp 6/322.1 Khai báo biến tệp o Cú pháp FILE *; n Trong đó, FILE là từ khoá luôn phải có và viết dạng chữ hoa n Các biến tệp là các biến con trỏ o Ví dụ: FILE *f1,*f2; // Khai báo 2 biến tệp f1 và f212/24/15 Chương 9-Kiểu dữ liệu tệp 7/322.2 Mở tệp o Cú pháp =fopen(,); n Trong đó: o Tên tệp: đường dẫn đến tệp trên đĩa (lưu ý, dấu \ được ghi là \\). Tên tệp được đặt theo quy tắc đặt tên. o Kiểu xử lý tệp: xác định cách thức mà tệp được mở n fopen trả về một con trỏ tệp, nếu có lỗi con trỏ trả về NULL o Ví dụ: f1=fopen(“C:\\TC\\VIDU.TXT”,”w”); Mở tệp VIDU.TXT mới để ghi f2=fopen(“C:\\TC\\VIDU.TXT”,”r”);12/24/15Mở tệp VIDU.TXT mới dữ Chương 9-Kiểu đểliệu đọctệp 8/32Các chế độ xử lý tệp Chế độ Ý nghĩa r Mở tệp văn bản để đọc w Mở tệp văn bản để ghi, ghi đè lên tệp đã có a Mở tệp văn bản và ghi nối vào cuối tệp, chưa có tạo mới r+ Mở tệp văn bản để đọc/ghi w+ Mở tệp văn bản để ghi/đọc, ghi đè lên tệp đã có a+ Mở tệp văn bản hoặc tạo mớiđể đọc và ghi nối vào cuối rb Mở tệp nhị phân để đọc wb Mở tệp nhị phânđể ghi, ghi đè lên tệp đã có ab Ghi nối vào tệp nhị phân r+b Mở ra tệp nhị phân để đọc/ghi w+b Tạo ra tệp nhị phân để đọc/ghi a+b Nối vào hay tạo mới tệp nhị phân12/24/15 Chương 9-Kiểu dữ liệu tệp 9/32Ví dụ mở tệp o Mở tệp VIDU.TXT để ghi FILE *f; f = fopen(“VIDU.txt”, “w”); if (f!=NULL) { /* Các câu lệnh để thao tác với tệp*/ /* Đóng tệp */ } else printf(“Loi – Khong mo duoc tep!”); o Chú ý: n Khi mở tệp để ghi mà tệp đã tồn tại rồi thì tệp đó sẽ bị xoá và được thay bằng tệp khác. n Khi mở tệp để đọc thì tệp đó phải tồn tại, nếu không sẽ có lỗi.12/24/15 Chương 9-Kiểu dữ liệu tệp 10/322.3 Các thao tác khác o Hàm đóng tệp fclose(); n Hàm trả về 0 nếu đóng tệp thành công, trả về EOF nếu có lỗi o Hàm kiểm tra kết thúc tệp hay chưa? feof(); n Hàm trả về EOF nếu đã hết tập tin, ngược lại trả về 0 o Hàm di chuyển con trỏ tệp về đầu rewind();12/24/15 Chương 9-Kiểu dữ liệu tệp 11/323. Tệp văn bản o Ghi dữ liệu lên tệp văn bản n putc(ch, f); ghi kí tự ch vào tệp văn bản f, trả về EOF nếu gặp lỗi. n fputs(str,f); ghi xâu str vào tệp văn bản f, trả về 0 nếu str rỗng và trả về EOF nếu gặp lỗi n fprintf(f,chuỗi định dạng, danh sách biểu thức); ghi vào tệp văn bản f các biểu thức với các định dạng được chỉ ra, tương tự hàm printf()12/24/15 Chương 9-Kiểu dữ liệu ...
Tìm kiếm theo từ khóa liên quan:
Cơ sở lập trình Bài giảng Cơ sở lập trình 1 Kiểu dữ liệu tệp Thao tác trên tệp Tệp văn bản Tệp nhị phânGợi ý tài liệu liên quan:
-
Bài giảng Tin học cơ sở 4 - Bài 8: Con trỏ
34 trang 34 0 0 -
109 trang 33 0 0
-
Đề cương ôn tập học kì 2 môn Tin học lớp 11 năm 2022-2023 - Trường THPT Sơn Động số 3
6 trang 26 0 0 -
Bài giảng Lập trình nâng cao (Advanced Programming) - Chương 9: Kiểu dữ liệu tệp
18 trang 25 0 0 -
Bài giảng Cơ sở lập trình - ĐH Thương Mại
0 trang 24 0 0 -
Bài giảng cơ sở lập trình nâng cao - Chương 8
37 trang 24 0 0 -
Bài giảng Cơ sở lập trình: Struct (Kiểu cấu trúc) - Trịnh Tấn Đạt
35 trang 23 0 0 -
Giáo trình Cơ sở lập trình: Phần 2
114 trang 23 0 0 -
Giáo án tin học: Kiểu dữ liệu tệp, thao tác với tệp
2 trang 21 0 0 -
Bài giảng Cơ sở lập trình 2: Chương 6 - Lê Quý Tài
14 trang 21 0 0