Danh mục

Lập trình C-Bài 21: Quản lý tập tin

Số trang: 18      Loại file: pdf      Dung lượng: 396.86 KB      Lượt xem: 10      Lượt tải: 0    
10.10.2023

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu lập trình c-bài 21: quản lý tập tin, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình C-Bài 21: Quản lý tập tin Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Bài 21 Quản lý tập tinMục tiêu:Kết thúc bài học này, bạn có thể: Giải thích khái niệm luồng (streams) và tập tin (files) Thảo luận các luồng văn bản và các luồng nhị phân Giải thích các hàm xử lý tập tin Giải thích con trỏ tập tin Thảo luận con trỏ kích hoạt hiện hành Giải thích các đối số từ dòng nhắc lệnh (command-line).Giới thiệuHầu hết các chương trình đều yêu cầu đọc và ghi dữ liệu vào các hệ thống lưu trữ trên đĩa. Các chươngtrình xử lý văn bản cần lưu các tập tin văn bản, chương trình xử lý bảng tính cần lưu nội dung của cácô, chương trình cơ sỡ dữ liệu cần lưu các mẫu tin. Bài này sẽ khám phá các tiện ích trong C dành chocác thao tác nhập/xuất (I/O) đĩa hệ thống.Ngôn ngữ C không chứa bất kỳ câu lệnh nhập/xuất nào một cách tường minh. Tất cả các thao tácnhập/xuất đều thực hiện thông qua các hàm thư viện chuẩn của C. Tiếp cận này làm cho hệ thống quảnlý tập tin của C rất mạnh và uyển chuyển. Nhập/xuất trong C là tuyệt vời vì dữ liệu có thể truyền ởdạng nhị phân hay ở dạng văn bản mà con người có thể đọc được. Điều này làm cho việc tạo tập tin đểđáp ứng mọi nhu cầu một cách dễ dàng.Việc hiểu rõ sự khác biệt giữa stream và tập tin là rất quan trọng. Hệ thống nhập/xuất của C cung cấpcho người dùng một giao diện độc lập với thiết bị thật sự đang truy cập. Giao diện này không phải làmột tập tin thật sự mà là một sự biễu diễn trừu tượng của thiết bị. Giao diện trừu tượng này được gọi làmột stream và thiết bị thật sự được gọi là tập tin.21.1 File StreamsHệ thống tập tin của C làm việc được với rất nhiều thiết bị khác nhau bao gồm máy in, ổ đĩa, ổ băng từvà các thiết bị đầu cuối. Mặc dù tất cả các thiết bị đều khác nhau, nhưng hệ thống tập tin có vùng đệmsẽ chuyển mỗi thiết bị về một thiết bị logic gọi là một stream. Vì mọi streams hoạt động tương tự, nênviệc quản lý các thiết bị là rất dễ dàng. Có hai loại streams – văn bản (text) và nhị phân (binary).21.1.1 Streams văn bảnMột streams văn bản là một chuỗi các ký tự. Các streams văn bản có thể được tổ chức thành cácdòng, mỗi dòng kết thúc bằng một ký tự sang dòng mới. Tuy nhiên, ký tự sang dòng mới là tùy chọntrong dòng cuối và được quyết định khi cài đặt. Hầu hết các trình biên dịch C không kết thúc streamvăn bản với ký tự sang dòng mới. Trong một stream văn bản, có thể xảy ra một vài sự chuyển đổi kýtự khi môi trường yêu cầu. Chẳng hạn như, ký tự sang dòng mới có thể được chuyển thành một cặp kýtự về đầu dòng/nhảy đến dòng kế. Vì vậy, mối quan hệ giữa các ký tự được ghi (hay đọc) và những kýtự ở thiết bị ngoại vi có thể không phải là mối quan hệ một-một. Và cũng vì sự chuyển đổi có thể xảyra này, số lượng ký tự được ghi (hay đọc) có thể không giống như số lượng ký tự nhìn thấy ở thiết bịngoại vi.Quản lý tập tin 285 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.21.1.2 Streams nhị phânMột streams nhị phân là một chuỗi các byte với sự tương ứng một-một với thiết bị ngoại vi, nghĩa là,không có sự chuyển đổi ký tự. Cũng vì vậy, số lượng byte đọc (hay ghi) cũng sẽ giống như số lượngbyte ở thiết bị ngoại vi. Các stream nhị phân là các chuỗi byte thuần túy, mà không có bất kỳ ký hiệunào được dùng để chỉ ra điểm kết thúc của tập tin hay kết thúc của record. Kết thúc của tập tin đượcxác định bằng độ lớn của tập tin.21.2 Các hàm về tập tin và structure FILEMột tập tin có thể tham chiếu đến bất cứ cái gì: từ một tập tin trên đĩa đến một thiết bị đầu cuối haymột máy in. Tuy nhiên, tất cả các tập tin đều không có cùng khả năng. Ví dụ như, một tập tin trên đĩacó thể hổ trợ truy cập ngẩu nhiên trong khi một bàn phím thì không. Một tập tin sẽ kết hợp với mộtstream bằng cách thực hiện thao tác mở. Tương tự, nó sẽ thôi kết hợp với một stream bằng thao tácđóng. Khi một chương trình kết thúc bình thường, tất cả các tập tin đều tự động đóng. Tuy nhiên, khimột chương trình bị treo hoặc kết thúc bất thường, các tập tin vẫn còn mở.21.2.1 Các hàm cơ bản về tập tinMột hệ thống quản lý tập tin theo chuẩn ANSI bao gồm một số hàm liên quan với nhau. Các hàmthông dụng nhất được liệt kê trong bảng 21.1. Name Function fopen() Mở một tập tin fclose() Đóng một tập tin fputc() Ghi một ký tự vào một tập tin fgetc() Đọc một ký tự từ một tập tin fread() Đọc từ một tập tin vào một vùng đệm fwrite() ...

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