I. Mục tiêu - Hiểu và thực hiện được các thao tác cơ bản trên tập tin, sử dụng C/C++ - Chuẩn bị các kỹ năng thực hành cơ bản cho những chương tiếp theo của môn học CTDL2
II. Thời gian
- Thời gian tìm hiểu và cài đặt bài tập: 1 tuần
III. Nội dung
1. Giới thiệu - Tập tin là gì ? - Cách thức lưu trữ tập tin trên đĩa: mức logic ? mức vật lý ? 2. Sự khác biệt cơ bản giữa tập tin và mảng 3. Nguyên tắc cơ bản khi xử lý trên file - Mở file - Truy xuất: đọc, ghi, dịch chuyển đầu đọc file - Đóng file 4. Các thao tác xử lý cơ bản trên file trong C/C++ - Truy xuất file với chế độ text: Mở (fopen), đóng (fclose), đọc phần tử (fscanf, fgetc, fgets), ghi phần tử (fprintf, fputc, fputs), kiểm tra cuối file (feof) - Truy xuất file với chế độ nhị phân (binary): Mở (fopen), đóng (fclose), đọc phần tử (fread, fgetc), ghi phần tử (fwrite, fputc), dịch chuyển đầu đọc file (fseek), xác định vị trí đầu đọc file (ftell), kiểm tra cuối file (feof) 5. Vùng đệm truy xuất file (Buffer) - Buffer là gi ? - Công dụng của Buffer - Các thao tác trên buffer trong C/C++: thay đổi kích thước buffer khi truy xuất file (setbuf), làm sạch buffer (fflush, flushall)
IV. Bài tập
1. Cho 1 tập tin dạng text mang tên STRINGS.TXT Hãy viết chương trình đọc và hiển thị nội dung tập tin lên màn hình 2. Cho 1 tập tin dạng text mang tên NUMBERS.TXT Hãy viết chương trình đọc và hiển thị nội dung tập tin lên màn hình 3. Cho 1 tập tin dạng text mang tên ODBCINST.INI Hãy viết chương trình đọc và hiển thị lên màn hình: - tên file driver dùng cho kết nối ODBC của Oracle (được xác định trong mục “Driver” của phần “Microsoft ODBC for Oracle (32 bit)”) - tên file driver dùng cho kết nối ODBC của SQL Server (được xác định trong mục “Driver” của phần “SQL Server (32 bit)”)
4. Cho 2 tập tin dạng text mang tên NUMBER1.TXT và NUMBER2.TXT. Biết rằng giá trị các số trong mỗi tập tin có thứ tự tăng dần Hãy viết chương trình tạo 1 file text mới có tên NUMBER12.TXT có nội dung tổng hợp từ 2 file trên và sắp theo tứ tự tăng dần 5. Cho 1 tập tin dạng text mang tên README.TXT Hãy viết chương trình đọc và thống kê số lần xuất hiện của mỗi loại ký tự trong file nói trên. Phân biệt chữ thường và chữ hoa. Kết quả thống kê ghi ra 1 file text có tên THONGKE.TXT theo mẫu sau So loai ky tu = xxx a= b= c= d= … 6. Cho 1 tập tin dạng binary mang tên NUMBERS.BIN, mỗi phần tử trong file là 1 số nguyên (int 2 bytes). Hãy viết chương trình đọc và tính tổng giá trị các phần tử trong file trên 7. Hãy tạo 1 file dạng binary chứa các số nguyên với dữ liệu lấy từ file NUMBERS.TXT 8. Hãy tạo 1 file dạng binary chứa các số nguyên theo thứ tự ngược lại với dữ liệu trong file NUMBERS.BIN 9. Viết chương trình xóa 1 số nguyên cho trước trong file NUMBERS.BIN. Chương trình thi hành theo cú pháp dòng lệnh như sau: C:\>Bai9 X Trong đó: X là giá trị cần xóa 10. Viết chương trình chèn 1 số nguyên cho trước vào sau 1 giá trị xác định trong file NUMBERS.BIN. Chương trình thi hành theo cú pháp dòng lệnh như sau: C:\>Bai10 X Y Trong đó: - X là giá trị cần chèn vào file. X sẽ được chèn vào sau giá trị Y. Nếu Y không tồn tại thì X được thêm vào cuối file