Bài giảng Lập trình C nâng cao - Chương 5: Lập trình tập tin

11 1 0
Tài liệu đã được kiểm tra trùng lặp
Bài giảng Lập trình C nâng cao - Chương 5: Lập trình tập tin

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 5: LẬP TRÌNH TẬP TIN Tổng quan lập trình tập tin Các thao tác tập tin văn a Tạo tập tin văn b Mở tập tin văn c Thêm liệu vào tập tin văn Các thao tác tập tin nhị phân Tạo / Mở / Thêm Xử lý tập tin gồm nhiều mẩu tin a Tạo / Mở tập tin gồm mẩu tin b Thêm mẩu tin vào tập tin có sẵn c Thao tác đọc ghi phức hợp 1.Tổng quan lập trình tập tin a Giới thiệu – – – – – Trong lập trình, khơng giải tốn mà cịn phải thực số thao tác khác với liệu đưa liệu từ nhớ vào, lưu liệu nhớ ngoài… Như vậy, số thao tác cần thực giao tiếp với nhớ ngồi mở, đóng tập tin, đọc, ghi, sửa, lưu liệu Theo cấu tạo nhớ ngoài, (cấu tạo đĩa, sector), thao tác ghi, xóa chỉnh sửa dẫn tới phải thay đổi, di dời số bye Ngoài việc cấu trúc tập tin tổ chức tự động, người lập trình cần can thiệp định vị vị trí để lưu, sửa… Lập trình tập tin ta dùng biến trỏ FILE * để tham chiếu tới tập tin Các loại tập tin lưu liệu bao gồm tập tin văn tập tin nhị phân 1.Tổng quan lập trình tập tin b Tập tin văn – – – – Là tập tin dùng để lưu dòng văn Mỗi tập tin văn gồm nhiều dịng dịng chúng ngăn cách $0A Kết thúc tập tin $1A Trường hợp phía sau ký tự kết thúc mà cịn liệu liệu coi rác Một số tập tin tạo từ DOS, notepad… tập tin văn c Tập tin nhị phân – – Là loại tập tin lại bao gồm tập tin có exe, com, tập tin hình ảnh, văn bản… Các tập tin đươc tạo từ phần mềm nhận biết từ phần mềm cơng ty sở hữu phần mềm có quyền cơng bố cấu trúc tập tin hay không 2 Các thao tác tập tin văn a Tạo tập tin văn – Dùng hàm fopen với tùy chọn “wt” để tạo tập tin • • • – Hàm fprintf ghi liệu hay biến nhớ vào tập tin • • • – Cú pháp: fp = fopen(char *ten, “wt”) fp trỏ tập tin; ten tên đường dẫn tới địa cần lưu nhớ ngoài; Cú pháp: fprintf(fp, s) fprintf (fp, “hằng”) fp trỏ tập tin s biến nhớ Hàm fclose (fp) cho phép đóng tập tin 2 Các thao tác tập tin văn b Mở (đọc) tập tin văn – Hàm fopen để mở với tùy chọn “rt” – Hàm fgets để đọc liệu từ tập tin vào biến nhớ theo cú pháp: • fgets(bien, sokt, fp) – bien: biến nhớ – sokt: số ký tự tối đa cho lần đọc – fp: trỏ FILE trỏ tới tập tin cần đọc • Chú ý: Hàm feof(fp) cho biết kết thúc tập tin trỏ trỏ fp hay chưa – Hàm fclose(fp) để đóng tập tin lại 2 Các thao tác tập tin văn c Thêm liệu vào tập tin văn – Hàm fopen để mở với tùy chọn “at” – Hàm fprintf để ghi liệu từ biến nhớ vào cuối tập tin – Hàm fclose(fp) để đóng tập tin lại 3.Các thao tác tập tin nhị phân a Tạo tập tin nhị phân – Dùng hàm fopen với tùy chọn “wb” để tạo tập tin • • • – Hàm fwrite ghi liệu hay biến nhớ vào tập tin • • • • • – Cú pháp: fp = fopen(char *ten,”wb”) fp trỏ tập tin; ten tên đường dẫn tới địa cần lưu nhớ ngoài; Cú pháp: fwrite(bien,size, n, fp) fp trỏ tập tin bien biến nhớ kiểu trỏ size: kích thước biến n số lượng Hàm fclose (fp) cho phép đóng tập tin 2 Các thao tác tập tin nhị phân b Mở (đọc) tập tin nhị phân – Hàm fopen để mở với tùy chọn “rb” – Hàm fread để đọc liệu từ tập tin vào biến nhớ theo cú pháp: • fread(bien,size,n,fp) – – – – bien: biến nhớ kiểu trỏ size kích thước biến n số phần tử fp: trỏ FILE trỏ tới tập tin cần đọc – Hàm fclose(fp) để đóng tập tin lại 3 Các thao tác tập tin nhị phân c Thêm liệu vào tập tin nhị phân – Hàm fopen để mở với tùy chọn “ab” – Hàm fwrite để ghi liệu từ biến nhớ vào cuối tập tin – Hàm fclose(fp) để đóng tập tin lại Xử lý tập tin gồm nhiều mẩu tin a Tạo / Mở tập tin gồm mẩu tin – – – – Tạo tập tin gọi hàm fopen(fp, “wb”) Hàm fwrite để ghi liệu cấu trúc từ biến nhớ tập tin Hàm fread để đọc liệu từ nhớ vào biến cấu trúc Hàm fclose(fp) để đóng tập tin b Thêm mẩu tin vào tập tin có sẵn – Để thêm mẩu tin vào tập tin gọi hàm fopen(fp,”ab”) Xử lý tập tin gồm nhiều mẩu tin c Thao tác đọc ghi phức hợp Trong trường hợp cần mở tập tin thêm, sửa, lưu cần thực thao tác để xác định vị trí mẩu tin với hàm sau: – – Hàm fopen(fp, “r+b”) Hàm ftell đánh dấu vị trí mẩu tin vtri = ftell(pf); – Hàm fseek để đưa đầu đọc/ghi đến mẩu tin thích hợp theo cú pháp: fseek(fp, vtri, SEEK_SET)

Ngày đăng: 15/10/2023, 17:14

Tài liệu cùng người dùng

Tài liệu liên quan