intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Làm việc với Tập tin

Chia sẻ: Nguyen Nguyen | Ngày: | Loại File: PDF | Số trang:0

108
lượt xem
15
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo về kiến thức cơ sở dữ liệu - Cách làm việc với tập tin

Chủ đề:
Lưu

Nội dung Text: Làm việc với Tập tin

  1. 28/08/2011 Làm việc với tập tin GVGD: Trương Phước Hải 1
  2. 28/08/2011 Nội dung 1. Khái niệm tập tin 2. Phân loại tập tin 3. Các bước xử lý tập tin 4. Tập tin văn bản 5. Tập tin nhị phân 2 2
  3. 28/08/2011 Tập tin  Là đơn vị lưu trữ dữ liệu tại bộ nhớ ngoài: đĩa cứng, CD, USB, ...  Dữ liệu lưu trữ trong tập tin không bị mất đi khi ngưng cung cấp nguồn điện nên có thể được sử dụng lâu dài  Có thể lưu trữ dữ liệu với kích thước lớn 3 3
  4. 28/08/2011 Nội dung 1. Khái niệm tập tin 2. Phân loại tập tin 3. Các bước xử lý tập tin 4. Tập tin văn bản 5. Tập tin nhị phân 4 4
  5. 28/08/2011 Phân loại  Tập tin văn bản (text file) Lưu trữ dữ liệu dưới dạng chuỗi các kí tự thuộc bảng mã  ASCII thành các dòng Mỗi dòng kết thúc bằng kí tự xuống dòng ‘\n’  Tập tin được kết thúc bởi kí tự EOF (End Of File)  Thao tác trên tập tin văn bản là tuần tự  5 5
  6. 28/08/2011 Phân loại  Tập tin nhị phân (binary file) Lưu trữ dữ liệu dưới dạng mã nhị phân, chuỗi các byte  Tập tin được kết thúc bởi kí tự EOF (End Of File)  Thao tác dữ liệu trên tập tin nhị phân là ngẫu nhiên  6 6
  7. 28/08/2011 Nội dung 1. Khái niệm tập tin 2. Phân loại tập tin 3. Các bước xử lý tập tin 4. Tập tin văn bản 5. Tập tin nhị phân 7 7
  8. 28/08/2011 Các bước xử lý tập tin  Khai báo biến và mở tập tin Chỉ định loại tập tin (văn bản, nhị phân) cần mở  Chỉ định thao tác cần thực hiện (đọc, ghi, thêm, …)   Thực hiện thao tác xử lý dữ liệu tương ứng với chế độ đã mở  Đóng tập tin  Thư viện chứa các thao tác xử lý: 8 8
  9. 28/08/2011 Các bước xử lý tập tin  Khai báo con trỏ tập tin: FILE *;  Xử lý tập tin: mở và thực hiện các thao tác xử lý  Đóng tập tin: fclose(); void main() { //khai báo con trỏ FILE FILE *f; ... //các thao tác xử lý fclose(f); } 9 9
  10. 28/08/2011 Các hàm xử lý tập tin  Mở tập tin Cú pháp: fopen(char *đường_dẫn, char *kiểu_mở)  Công dụng: mở tập tin với đường dẫn và kiểu mở được cho   Kiểu mở (đọc, ghi, thêm) tập tin (văn bản, nhị phân) là chuỗi kết hợp từ các chuỗi được cho trong 2 bảng sau Kiểu Ý nghĩa Loại Ý nghĩa Mở để đọc (tập tin phải tồn tại) Tập tin văn bản r t Mở để ghi (nếu tồn tại thì ghi đè) Tập tin nhị phân w b Mở để thêm (chưa có thì tạo mới) a Mở để đọc và ghi r+ Tạo mới để đọc và ghi w+ Thêm hoặc tạo mới để đọc và ghi a+ 10 10
  11. 28/08/2011 Các hàm xử lý tập tin  Ví dụ mở tập tin văn bản text.txt để ghi #include #include #include using namespace std; void main() { FILE *f = fopen("text.txt", "wt"); if (f != NULL) { cout
  12. 28/08/2011 Các hàm xử lý tập tin  Ví dụ mở tập tin nhị phân data.dat để đọc #include #include #include using namespace std; void main() { FILE *f = fopen("data.dat", "rb"); if (f != NULL) { cout
  13. 28/08/2011 Các hàm xử lý tập tin  Đóng tập tin: Đóng 1 tập tin được chỉ định: int fclose(FILE *f)  Đóng tất cả tập tin đang mở: int fcloseall()  Công dụng   Đóng tập tin sau khi kết thúc các thao tác xử lý  Khi ghi, dữ liệu vùng đệm sẽ được ghi xuống tập tin  Khi đọc, dữ liệu vùng đệm sẽ bị xoá  Giải phóng biến trỏ tệp.  Nếu thành công, trả về 0 (đối với fclose) và số tập tin được đóng (đối với fcloseall), ngược lại trả về EOF. 13 13
  14. 28/08/2011 Các hàm xử lý tập tin  Kiểm tra đọc đến cuối tập tin  Cú pháp: int feof(FILE *f) Công dụng: kiểm tra con trỏ f đã đọc đến cuối tập tin  Trả về 0 nếu chưa đến đến cuối  Ngược lại trả về giá trị khác 0  while (!feof(f)) { //các thao tác xử lý } 14 14
  15. 28/08/2011 Nội dung 1. Khái niệm tập tin 2. Phân loại tập tin 3. Các bước xử lý tập tin 4. Tập tin văn bản 5. Tập tin nhị phân 15 15
  16. 28/08/2011 Tập tin văn bản  Tập tin văn bản lưu dữ liệu là các kí tự của bảng mã ASCII  Tập tin văn bản có thể được xem bằng chương trình Notepad, lệnh type trong DOS, …  Câu lệnh mở tập tin văn bản FILE *f = fopen("filename", "?t"); filename: là tên tập tin có chỉ định đường dẫn.  ? là thao tác đọc/ghi dữ liệu tương ứng: đọc (r), ghi (w),  thêm (a), r+, w+, a+ 16 16
  17. 28/08/2011 Ghi dữ liệu lên tập tin văn bản  Ghi một kí tự:  Cú pháp: int fputc(int chr, FILE *f) chr: là mã ASCII của kí tự được ghi lên tập tin f.  Công dụng: ghi kí tự chr lên tập tin f   Nếu thành công thì trả về kí tự ghi được Trả về EOF (End Of File) nếu gặp lỗi  FILE *f = fopen("test.txt", "wt"); for (char c = 'A'; c
  18. 28/08/2011 Ghi dữ liệu lên tập tin văn bản  Hàm ghi chuỗi  Cú pháp: int fputs(const char *buff, FILE *f) Công dụng: ghi chuỗi trong buff lên tập tin f   Nếu thành công trả về giá trị không âm Ngược lại trả về EOF  FILE *f = fopen("test.txt", "wt"); char *s = "Mua xuan em di hai hoa"; fputs(s, f); fclose(f); 18 18
  19. 28/08/2011 Ghi dữ liệu lên tập tin văn bản  Hàm ghi chuỗi (có định dạng): Cú pháp:  int fprintf(FILE *f, const char *format, ...) Công dụng: ghi chuỗi với định dạng được chỉ định trong  format lên tập tin  Trả về tổng số kí tự ghi được nếu thành công Ngược lại trả về giá trị âm  FILE *f = fopen("test.txt", "wt"); char *s = "bao gio cho den thang"; int t = 10; fprintf(f, "%s %d", s, t); fclose(f); 19 19
  20. 28/08/2011 Ghi dữ liệu lên tập tin văn bản  Bảng chuỗi định dạng cho hàm fprintf ứng với các kiểu dữ liệu: Định dạng Ý nghĩa Xuất giá trị biến kiểu int %d Xuất giá trị biến kiểu long %ld Xuất giá trị biến kiểu số thực với a là số %.[a]f chữ số thập phân. Xuất số nguyên sang hệ bát phân %o Xuất số nguyên sang hệ thập lục phân %x Xuất kí tự %c Xuất chuỗi kí tự %s 20 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2