1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

S nmc9 file

20 0 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

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 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 chương trình soạn thảo văn notepad, wordpad, MSword, • Nhị phân: thơng tin lưu dạng chuỗ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 khố 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 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 cấu trúc)  Ngoài ra, tập tin lưu trữ thư mục chịu quản lý Hệ điều hành nên vấn đề có liên quan đến tập tin phải tuân theo thủ tục, qui trình qui định Hệ điều hành  C hổ trợ 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ý mặt ý nghĩ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ở tạo : tạo mối quan hệ quản lý tập tin đĩa (đặc trưng tên tập tin) với biến nhớ 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 kiểu cấu trúc C định nghĩa sẳn Các thành phần 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 chuỗi chứa tên tập tin đĩa Ví dụ: “C:\MSSV_Vc\”ThapHN.c”, “Hamdq.h” • mode qui định chế độ mở/tạo tập tin  “r” : mở để đọc (báo lỗi chưa có)  “w” : mở để ghi (xóa nội dung có)  “a” : mở để thêm vào cuối (tạo chưa tồn tại)  “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 Tập tin (file) Ví dụ 1, ghi file van ban Nhập mơn lập trình (C9) Slide Tập tin (file) Hàm fprintf( )  Hàm thư viện ghi tập tin theo định dạng: int fprintf(FILE *stream, const char *format, )  Việc sử dụng hàm fprintf() tương tự hàm printf(), có khác chỗ in hình ghi lên tập tin stream Ví dụ: fprintf(fptr,"%d%s%.0g\n",10,"!= ",gt(10)); fprintf(stream,"%s%d\n","S= ",x*2+3); Nhập mơn lập trình (C9) Slide Tập tin (file) Hàm fscanf_s( )  Hàm thư viện đọc liệu từ tập tin theo định dạng: int fscanf(FILE *stream, const char *format, )  Việc sử dụng hàm fscanf() tương tự hàm scanf(), có khác chỗ lẻ nhập từ bàn phím đọc vào từ tập tin stream Ví dụ: fscanf(i_file,"%d",&n); fscanf(stream,"%f",&(sv1->diem_btl); Nhập mơn lập trình (C9) Slide 10 Tập tin (file) Ví dụ Nhập mơn lập trình (C9) Slide 11 Tập tin (file) Đóng tập tin  Hàm thư viện đóng tập tin: int fclose(FILE *stream) đó: • stream tập tin cần đóng • Các vùng đệm ẩn dành riêng cho tập tin bị xóa • Tập tin sau đóng, muốn dùng lại, phải mở lại Nhập mơn lập trình (C9) Slide 12 Tập tin (file) Hàm tham khảo thêm stdio.lib Tham khảo Tham khảo Tham khảo Nhập mơn lập trình (C9) Slide 13 Tập tin (file) Ví dụ ghi/đọc file binary Ghi file binary Đọc file binary Nhập mơn lập trình (C9) Slide 14 Tập tin (file) Ví dụ ghi/đọc file liệu cấu trúc Ghi file cấu trúc Đọc file cấu trúc Nhập môn lập trình (C9) Slide 15 MACRO #define preprocessor  MACRO đoạn code đặt tên  MACRO thay giai đoạn tiền xử lý (preprocessing)  Ta dùng thị #define để định nghĩa MACRO theo cú pháp: #define Nhập mơn lập trình (C9) Slide 16 MACRO Hàm MACRO dùng #define  Ta dùng #define để định nghĩa MACRO có tham số dùng gọi hàm: dt_tron(7)  (3.14159*7*7) Nhập mơn lập trình (C9) Slide 17 MACRO Các tốn tử  "\" : đặt cuối dịng cho phép xuống dòng viết tiếp  "#" : đặt trước tham số đổi tham số thành chuỗi ký tự  "##" : ghép tham số với cụm từ thành tên biến, tên hàm inso(f,8)  printf("%f\n",so8); inso(d,5)  printf("%d\n",so5); Nhập mơn lập trình (C9) Slide 18 MACRO có sẳn  FILE : trả string tên file chương trình với đường dẫn  DATE : trả string ngày tháng năm  TIME : trả string phút giây  LINE : trả số nguyên thứ tự dòng  STDC : trả số dùng ANSI C chuẩn Nhập mơn lập trình (C9) Slide 19 MACRO Một số preprocessor khác  #undef : loại bỏ tên MACRO có  #ifndef MACRO | #ifdef MACRO #define MACRO | #endif | #endif Hỏi xem MACRO định nghĩa chưa?  #if #elif #else #endif Nhập mơn lập trình (C9) Slide 20

Ngày đăng: 11/04/2023, 18:54

Xem thêm:

w