1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nhập môn lập trình: Chương 8 – Phạm Minh Tuấn

38 29 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 38
Dung lượng 3,67 MB

Nội dung

Bài giảng “Nhập môn lập trình – Chương 8: Chuỗi ký tự và tập tin” cung cấp cho người học các kiến thức: Giới thiệu về các dạng tập tin, hệ thống nhập xuất trong lập trình, lập trình thao tác trên tập tin văn bản thô, sử dụng tập tin văn bản thô để lưu trữ dữ liệu của chương trình,… Mời các bạn cùng tham khảo nội dung chi tiết.

Kỹ thuật lập trình Trình bày: …; Email: …@fit.hcmus.edu.vn Giới thiệu dạng tập tin Hệ thống nhập xuất lập trình Lập trình thao tác tập tin văn thô Sử dụng tập tin văn thô để lưu trữ liệu chương trình Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Việc lập trình với tập tin nhằm để lưu trữ liệu chương trình vào nhớ phụ truy xuất trở lại liệu cần thiết Thông thường liệu lưu trữ tập tin đĩa • Về mặt kỹ thuật lập trình, người ta xem có hai dạng tập tin tập tin văn thô tập tin tin nhị phân 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Đây dạng tập tin văn có cấu trúc đơn giản thơng dụng nhất, xem nội dung sửa chữa lệnh hệ điều hành hay chương trình soạn thảo văn đơn giản • Thông thường lưu trữ đĩa dạng txt • Hầu hết mã nguồn chương trình lưu trữ đĩa dạng tập tin văn thơ • Nội dung gồm ký tự 8-bit • Các ký tự thấy có mã từ 0x20 trở lên • Các ký tự điều khiển có mã nhỏ 0x20 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Có thể lưu ký tự Unicode hay ký tự nhiều byte (multi-byte character) • Hai cấu trúc văn thô mở rộng thông dụng là: – Unicode text: lưu ký tự UTF-16 – UTF-8: lưu ký tự độ dài biến động từ đến byte 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Là tập tin khơng có cấu trúc tập tin văn thơ • Mỗi tập tin bao gồm dãy byte liệu, gồm dạng: – Các byte không liên quan mặt cấu trúc tổ chức tập tin – Được cấu trúc hóa tùy theo qui ước phần mềm tạo tập tin 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên • Bao gồm bước chính: – Bước Mở tập tin, người lập trình cần phải đưa vào đường dẫn tên tập tin xác – Bước Sử dụng tập tin (sau mở tập tin thành cơng) • Đọc liệu từ tập tin đưa vào biến nhớ chương trình • Ghi liệu từ biến nhớ chương trình lên tập tin – Bước Đóng tập tin (sau hồn tất công việc cần thiết) 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên FILE *fopen(const char *filename, const char *mode) Mở tập tin có tên (đường dẫn) chứa filename với kiểu mở mode (xem bảng) Thành công: trỏ kiểu cấu trúc FILE Thất bại: NULL (sai quy tắc đặt tên tập tin, khơng tìm thấy ổ đĩa, khơng tìm thấy thư mục, mở tập tin chưa có để đọc, …) FILE* fp = fopen(“taptin.txt”, “rt”); if (fp == NULL) printf(“Khong mo duoc tap tin!”); 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 10 • Truy xuất (sequentially access) – Phải đọc/ghi liệu từ vị trí trỏ vị đến vị trí n-1 trước đọc liệu vị trí n – Không cần quan tâm đến trỏ vị trỏ vị tự động chuyển sang vị trí sau thao tác đọc/ghi liệu • Truy xuất ngẫu nhiên (random access) – Có thể đọc/ghi vị trí tập tin mà khơng cần phải đọc/ghi tồn liệu trước => quan tâm đến trỏ vị 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 24 void rewind(FILE *fp) Đặt lại vị trí trỏ vị đầu (byte 0) tập tin fp Không FILE* fp = fopen(“taptin.txt”, “w+”); fprintf(fp, “0123456789”); rewind(fp); fprintf(fp, “*****”); 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 25 int fseek(FILE *fp, long offset, ing origin) Đặt vị trí trỏ vị stream fp với vị trí offset so với cột mốc origin (SEEK_SET hay 0: đầu tập tin; SEEK_CUR hay 1: vị trí tại; SEEK_END hay 2: cuối tập tin) Thành công: trả Thất bại: trả giá trị khác FILE* fp = fopen(“taptin.txt”, “w+”); fseek(fp, 0L, SEEK_SET); //  rewind(fp); fseek(fp, 0L, SEEK_END); // cuối tập tin fseek(fp, -2L, SEEK_CUR);// lùi lại vị trí 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 26 long ftell(FILE *fp) Hàm trả vị trí trỏ chị vị (tính từ vị trí tập tin, tức 0) stream fp Thành cơng: trả vị trí trỏ vị Thất bại: trả -1L FILE* fp = fopen(“taptin.txt”, “rb”); fseek(fp, 0L, SEEK_END); long size = ftell(fp); printf(“Kich thuoc tap tin la %ld\n”, size); 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 27 • • • • • Đọc nội dung tập tin có sẵn Tạo tập tin để ghi liệu Chỉnh sửa nội dung tập tin có sẵn Ghi thêm, ghép nội dung tập tin Những thao tác hỗ trợ – Kiểm tra tập tin có sẵn chưa – Kiểm tra tập tin cho phép sửa hay khơng – Xóa, đổi tên tập tin 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 29 • Văn thơ thường sử dụng để lưu liệu chương trình – Dữ liệu ký tự chuỗi – Dữ liệu số tập tin văn – Dữ liệu phức hợp tập tin văn 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 31 • Cấu trúc tập tin HTML • Các dạng khác tập tin văn thô có cấu trúc (RTF, TEX, XML…) • Cấu trúc tập tin văn thô mở rộng 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 33 • • • • • • • • • • • binary file: tập tin nhị phân end of file, EOF character: ký hiệu kết thúc tập tin file processing: xử lý tập tin Hypertext Markup Language: ngôn ngữ HTML dùng để lưu trữ tập tin văn thơ có cấu trúc dùng cho trình duyệt web line: dịng (văn bản) multi-byte character: ký tự lưu trữ nhiều byte random access: truy xuất ngẫu nhiên read only: phép đọc record (danh từ): mẩu tin Rich Text Format: định dạng RTF, lưu đĩa dạng văn ASCII có cấu trúc, dùng để lưu trữ văn phức hợp có thơng tin định dạng lẫn biểu, hình ảnh sequentially access: truy xuất 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 35 • • • • stream: khái niệm dùng lập trình ngơn ngữ C/C++, dịng liệu nhập xuất, dùng đọc ghi liệu tập tin hay thiết bị nhập xuất tab: ký tự tab (tương đương với số khoảng trống hiển thị) text file, plain text, ASNI text (hay ASCII text): nói chung định dạng văn đơn giản soạn trình soạn thảo thơng dụng hệ điều hành Unicode text, UTF-8 text: định dạng văn thô dạn mở rộng, ký tự chiếm nhiều byte lưu trữ nhớ hay đĩa 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 36 • Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard, Schaum’s Outlines Series, McGraw-Hill, 1998 11/10/2012 Khoa CNTT - ĐH Khoa học tự nhiên 37 ... sau: – Nhập/ xuất theo định dạng • Hàm: fscanf, fprintf • Chỉ dùng với tập tin kiểu văn – Nhập/ xuất ký tự hay dịng lên tập tin • Hàm: getc, fgetc, fgets, putc, fputs • Chỉ nên dùng với kiểu văn –. .. người lập trình cần phải đưa vào đường dẫn tên tập tin xác – Bước Sử dụng tập tin (sau mở tập tin thành công) • Đọc liệu từ tập tin đưa vào biến nhớ chương trình • Ghi liệu từ biến nhớ chương. ..Giới thiệu dạng tập tin Hệ thống nhập xuất lập trình ? ?Lập trình thao tác tập tin văn thô Sử dụng tập tin văn thơ để lưu trữ liệu chương trình Các vấn đề tìm hiểu mở rộng kiến

Ngày đăng: 03/11/2020, 05:13

TỪ KHÓA LIÊN QUAN