Danh mục

Ngôn ngữ lập trình C - Chương 5

Số trang: 0      Loại file: pdf      Dung lượng: 348.19 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (0 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tài liệu tham khảo bài giảng về Ngôn ngữ lập trình C++ gồm 7 chương - Chương 5 Thao tác với tập tin và giao tiếp với hệ thống
Nội dung trích xuất từ tài liệu:
Ngôn ngữ lập trình C - Chương 5 Ch−¬ng 5 ChThao t¸c víi tËp tin vμ giao tiÕp víi hÖ thèng5.1 Luång d÷ liÖu vµ tËp tin 5.1.1 Luồng dữ liệu và thao tác vào/ra – Luồng dữ liệu : • Phương tiện trao đổi thông tin độc lập với các thiết bị truy xuất (còn gọi là kênh nhập/xuất). • Hệ thống tạo ra một thiết bị logic tương ứng với thiết bị vào/ra, gọi là luồng dữ liệu hay kênh nhập/xuất (thường đồng nhất với tệp). • Sử dụng các hàm trong thư viện stdio.h – Các luồng dữ liệu chuẩn: quy định cho các thiết bị chuẩn • Bao gồm các luồng vào (stdin), ra (stdout), báo lỗi (stderr), phụ trợ (stdaux), in (stdprn). • Thông thường là bàn phím, màn hình, cổng COM1, máy in trên PRN hay LPT1. Tuy vậy HĐH có thể hướng đến thiết bị khác. 2 Bài giảng C++. 15/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD5.1 Luång d÷ liÖu vµ tËp tin 5.1.2 Tập tin – Vấn đề lưu trữ dữ liệu • Tốc độ (bộ nhớ trong, bộ nhớ ngoài), cách thức truy nhập… • Thời gian lưu trữ: – Lưu trữ tạm thời: trong thời gian chạy chương trình. – Lưu trữ lâu dài: sử dụng nhiều lần, trao đổi dữ liệu, … – Tập tin • Tập hợp dữ liệu có liên quan với nhau và có cùng kiểu, được lưu trữ trên bộ nhớ ngoài. – Để cho gọn, từ giờ trở đi ta dùng thuật ngữ tệp. • Tệp chứa dữ liệu hiểu theo nghĩa rộng : chương trình, số liệu, các kiểu dữ liệu như kí tự, văn bản, … 3 Bài giảng C++. 15/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD5.1 Luång d÷ liÖu vµ tËp tin 5.1.2 Tập tin – Hệ thống tệp: • Mô tả cách thức tổ chức lưu trữ thông tin. – Cấu trúc thông dụng nhất là cấu trúc cây. • Đường dẫn: truy nhập tới tệp theo đường đi trên cây tính từ gốc. • Thẻ tệp: truy nhập tới tệp theo số hiệu tệp. – Là một số nguyên được HĐH cung cấp cho tệp khi tạo hay mở tệp. – Các thông tin về tệp (đã mở): mô tả đặc điểm của tệp • Các thuộc tính của tệp : cờ trạng thái đọc/ghi. – C++ sử dụng các hằng S_IREAD, S_IWRITE ( đọc, ghi ). – Để kiểm tra các thuộc tính này, sử dụng hàm access(). • Kích thước và trạng thái : cho biết số byte và trạng thái của tệp. – Sử dụng các hàm như filelength, chsize, … • Chế độ truyền: kiểu nhị phân hay kiểu văn bản. 4 Bài giảng C++. 15/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD5.1 Luång d÷ liÖu vµ tËp tin 5.1.3 Thao tác vào/ra với tập tin – Các kiểu vào/ra với tệp: • Mức cao (qua vùng đệm) và mức thấp (không qua vùng đệm) – C++ không cung cấp cơ chế vào/ra sử dụng các hàm vào/ra trong các thư viện do trình dịch cung cấp. • Vào/ra mức cao ~ qua vùng đệm: sử dụng bộ đệm (vùng nhớ trung gian) do chương trình (thực chất là trình dịch) cung cấp. • Vào/ra mức thấp ~ trực tiếp ~ mức hệ thống (tuy nhiên vẫn có bộ đệm do HĐH cung cấp). – Thư viện hỗ trợ vào/ra: stdio.h • Tùy theo kiểu vào/ra sử dụng các thư viện thích hợp • Tùy vào việc gắn các hàm này với thiết bị vào/ra nào, dữ liệu sẽ được chuyển từ/đến thiết bị đó (màn hình, bàn phím, tệp, …) 5 Bài giảng C++. 15/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD5.2 Thao t¸c vµo/ra tÖp møc cao 5.2.1 Khái niệm chung – Con trỏ tệp: • Là con trỏ kiểu FILE – Trỏ tới vùng nhớ chứa thông tin xác định đặc tính tệp. – Các đặc tính này bao gồm: tên, trạng thái, vị trí hiện thời của con trỏ. VD: FILE *fp1, *fp2; • Con trỏ tệp xác định một tệp trên bộ nhớ ngoài tương ứng với một kênh nhập/xuất và liên kết chúng với nhau. – Các thao tác vào/ra cơ bản: • Mở, đóng tệp, đọc, ghi dữ liệu, … – Chú ý các chế độ truy nhập: r, w, a, r+, … • Các hàm thông dụng: fopen, fclose, putc, getc, … • Các hàm khác: xem TLTK. 6 Bài giảng C++. 15/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD5.2 Thao t¸c vµo/ra tÖp møc cao 5.2.2 Các hàm vào/ra mức cao – Các hàm cơ bản: fopen: mở tệp, tham số là đường dẫn tệp và chế độ truy nhập. VD: fp1 = fopen(C:\VIDU\VD1.TXT,rb); char fn[20]; gets(fn); fp2 = fopen(fn,wt); fclose: đóng tệp, tham số là con trỏ tệp. VD: fp1 = fclose(fp1); – Các ...

Tài liệu được xem nhiều: