Nhập môn về lập trình (C9) Slide 1 Chương 9 Sử dụng tập tin (file) Presenter Nhập môn về lập trình (C9) Slide 2 Learning outcomes L O 7 1 – Khai báo được kiểu tập tin L O 7 2 – Giải thích được các[.]
Chương Sử dụng tập tin (file) Presenter: Nhập môn lập trình (C9) Slide Learning outcomes L.O.7.1 – Khai báo kiểu tập tin L.O.7.2 – Giải thích kiểu mở đóng tập tin L.O.7.3 – Giải thích nguyên tắc làm việc với tập tin L.O.7.4 – Hiện thực C để lấy liệu từ tập tin hay để ghi liệu vào tập tin L.O.7.5 – Sử dụng C để giải toán thực tế L.O.7.6 – Sử dụng macro Nhập mơn lập trình (C9) Slide Tập tin (file) Khái niệm chung Tập tin (file) đĩa thường chia các loại chính: • Văn bản: lưu thông tin theo dạng chuỗi ký tự theo mã quy định (ISO8859-1/ASCII, unicode) Có thể xem các chương trình soạn thảo văn notepad, wordpad, MSword, • Nhị phân: thơng tin lưu dạng ch̃i byte nhị phân (binary) Dùng để lưu trữ chương trình mã máy, liệu dạng nén, liệu mã hoá, • Cấu trúc/mẫu tin: thơng tin lưu theo khới có cấu trúc giớng (mẫu tin) Thường dùng quản lý hờ sơ, liệu có sớ lượng lớn • Định dạng phần mềm chuyên dụng: thông tin mã hoá hãng phần mềm quy định Muốn đọc thông tin, cần thực giải mã (chìa khoá giải mã thường phải mua từ hãng phần mềm) Nhập mơn lập trình (C9) Slide Tập tin (file) Dưới góc nhìn của ngơn ngữ C Đới với C, tập tin nhìn theo dạng liệu thô: • Chuỗi ký tự (dùng cho tập tin văn bản) • Chuỗi byte (dùng cho tập tin nhị phân hoặc cấu trúc) Ngoài ra, tập tin lưu trữ thư mục chịu quản lý của Hệ điều hành nên mọi vấn đề có liên quan đến tập tin đều phải tuân theo thủ tục, qui trình qui định Hệ điều hành C hổ trợ các hàm thư viện giúp người lập trình tiếp cận, “xin phép” Hệ điều hành để làm việc với tập tin theo định dạng mong muốn Người lập trình phải tự quản lý về mặt ý nghĩa của thông tin tập tin Nhập môn lập trình (C9) Slide Tập tin Thủ tục / Quy trình Mở (Chưa có : báo lỡi) Tạo (Có : nội dung bị mất) Xử lý (Phần thông tin quản lý tập tin) (Phần nội dung tập tin) [Dời trỏ tập tin], [đọc], [ghi] Đóng Nhập mơn lập trình (C9) Mở quan hệ đĩa tập tin) nhớ tạo : tạo mối quản lý tập tin (đặc trưng tên với biến Xử lý : thay đổi nội dung tập tin thêm thông tin vào tập tin Đóng : Cắt đứt quan hệ tập tin đĩa chương trình Slide Tập tin (file) Kiểu tập tin (FILE *) Biến chương trình dùng để gắn kết với tập tin đĩa bước mở/tạo file phải định nghĩa với kiểu đặc biệt cú pháp sau: FILE * Ví dụ: FILE *stream; FILE *fileptr; Kiểu FILE là kiểu cấu trúc C định nghĩa sẳn Các thành phần của dùng để quản lý tập tin gắn kết với biến kiểu FILE * (các thông tin cần thiết để làm việc với tập tin như: tên, chiều dài byte, ngày/giờ tạo tập tin, ngày/giờ cập nhật gần nhất, ) Nhập mơn lập trình (C9) Slide Tập tin (file) Mở / tạo tập tin Hàm thư viện mở/tạo tập tin: FILE *fopen( const char *filename, const char *mode ); đó: • filename là tên tập tin đĩa Ví dụ: “C:\MSSV_Vc\”ThapHN.cpp”, “Hamdq.h” • mode qui định chế độ mở/tạo tập tin “r” : mở để đọc “w” : mở để ghi “a” : mở để thêm vào “r+”, mở để vừa đọc vừa ghi, tập tin phải có rời “w+” : tạo (hoặc xoá nội dung cũ) để vừa đọc vừa ghi “a+” : mở/tạo để vừa đọc vừa thêm vào “t” : thêm vào cuối để chọn tập tin văn “b” :thêm vào cuối để chọn tập tin nhị phân Nhập mơn lập trình (C9) Slide ... ghi liệu vào tập tin L.O.7.5 – Sử dụng C để giải toán thực tế L.O.7.6 – Sử dụng macro Nhập môn lập trình (C9) Slide Tập tin (file) Khái niệm chung Tập tin (file) đĩa thường chia các... nội dung tập tin thêm thông tin vào tập tin Đóng : Cắt đứt quan hệ tập tin đĩa chương trình Slide Tập tin (file) Kiểu tập tin (FILE *) Biến chương trình dùng để gắn kết với tập tin đĩa bước... Nhập môn lập trình (C9) Slide Tập tin (file) Mở / tạo tập tin Hàm thư viện mở/tạo tập tin: FILE *fopen( const char *filename, const char *mode ); đó: • filename là tên tập tin đĩa