Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
366,44 KB
Nội dung
CHƯƠNG TẬP TIN (FILE) GiỚI THIỆU • C/C++ hổ trợ hệ thống nhập xuất: – Một hệ thống thừa kế từ ngôn ngữ C – Một hệ thống nhập xuất hướng đối tượng C++ Streams Files • Hệ thống nhập xuất C – Cung cấp giao diện (interface) quán độc lập với thiết bị thật mà chương trình tương tác – cung cấp mức độ trừu tượng lập trình viên thiết bị nhập xuất Sự trừu tượng gọi stream thiết bị thật gọi file Streams (dòng nhập xuất) • Hệ thống file C thiết kế để làm việc với nhiều loại thiết bị khác terminals (thiết bị đầu cuối), loại ổ đĩa, băng từ, • Hệ thống file chuyển đổi loại thành thiết bị logic gọi stream Tất stream có hành vi Streams (dòng nhập xuất) • Stream độc lập với thiết bị nên hoạt động stream ghi vào tập tin đĩa dùng để ghi vào loại thiết bị khác console (màn hình) • Có hai loại stream: – Văn (text) – Nhị phân (binary) 3.1 Text Streams • Một text stream chuổi ký tự Trong text stream, số ký tự bị chuyển đổi tùy thuộc môi trường • Ví dụ, ký tự newline ('\n') bị đổi thành cặp ký tự carriage return/linefeed (ký tự xuống dòng đầu dòng) 3.1 Text Streams • Không có quan hệ một-một ký tự viết (hay đọc) ký tự thiết bị Do số ký tự viết (hay đọc) khác số số ký tự thiết bị 3.2 Binary Streams • Một binary stream chuổi bytes tương ứng một-một với chuổi bytes thiết bị Nghĩa chuyển đổi xảy Do đó, số bytes viết (hay đọc) với số bytes thiết bị FILES • Một file tập tin đĩa, terminal, hay máy in • Để tạo kết nối (associate) stream với file ta dùng hoạt động mở (open) • Khi file mở, thông tin trao đổi file chương trình FILES • Không phải tất file có khả • Ví dụ, tập tin đĩa (file) hỗ trợ truy xuất ngẫu nhiên máy in (cũng file) • “Tất stream file không" 4.4 Đóng file • Hàm fclose() đóng stream mở hàm fopen() Khi hàm gọi, viết liệu buffer đến file đóng file • Cú pháp: int fclose(FILE *fp); – fp: trỏ file trả hàm fopen() 4.5 Ghi ký tự đến file • Có hai hàm xuất ký tự đến file putc() fputc() Hai hàm tương đương Hàm putc() ghi ký tự đến file mở hàm fopen() • Cú pháp: int putc(int ch, FILE *fp); – fp trỏ file trả hàm fopen() – ch ký tự viết đến file VD: đọc ký tự từ bàn phím ghi vào file đến gặp kt $ void main() { FILE *fp; char ch; if((fp=fopen(“test.txt”, "w"))==NULL) { cout [...]... của stream tương ứng được viết ra thiết bị ngoài • Qúa trình này được gọi là flushing và đảm bảo là không có thông tin bị để lại trong vùng đệm (buffer) 4 FILES • Tất cả file được tự động đóng khi chương trình mở chúng kết thúc bình thường Files không được đóng khi chương trình mở chúng bị kết thúc bất thường như bị treo (halt) hay khi chương trình thực hiện hàm abort() • Mỗi stream liên đới với một... "w"))==NULL) { cout ... thiết bị • Qúa trình gọi flushing đảm bảo thông tin bị để lại vùng đệm (buffer) 4 FILES • Tất file tự động đóng chương trình mở chúng kết thúc bình thường Files không đóng chương trình mở chúng... thống thừa kế từ ngôn ngữ C – Một hệ thống nhập xuất hướng đối tượng C++ 2 Streams Files • Hệ thống nhập xuất C – Cung cấp giao diện (interface) quán độc lập với thiết bị thật mà chương trình tương... getchar();//đọc từ bàn phím putc(ch, fp);//ghi vào file }while (ch != '$'); fclose(fp);//đóng file } 4.6 Đọc ký tự từ file • Hàm để đọc ký tự từ file:getc() fgetc() – Đọc lần ký tự từ file mở hàm