Các thao tác trên tập tin văn bản
a. Tạo tập tin văn bản
– Dùng hàm fopen với tùy chọn “wt” để tạo tập tin
mới.
• Cú pháp: fp = fopen(char *ten, “wt”) trong đó
• fp là con trỏ tập tin;
• ten là tên và đường dẫn tới địa chỉ cần lưu trên bộ nhớ
ngoài;
– Hàm fprintf ghi dữ liệu là hằng hay biến bộ nhớ vào
tập tin
• Cú pháp: fprintf(fp, s) hoặc fprintf (fp, “hằng”) trong đó
• fp là con trỏ tập tin
• s là biến bộ nhớ
– Hàm fclose (fp) cho phép đóng tập tin.2. Các thao tác trên tập tin văn bản
b. Mở (đọc) tập tin văn bản
– Hàm fopen để mở với tùy chọn “rt”
– Hàm fgets để đọc dữ liệu từ tập tin vào biến
bộ nhớ theo cú pháp:
• fgets(bien, sokt, fp) trong đó
– bien: là biến bộ nhớ
– sokt: là số ký tự tối đa cho mỗi lần đọc
– fp: là con trỏ FILE trỏ tới tập tin cần đọc
• Chú ý: Hàm feof(fp) cho biết đã kết thúc tập tin
được trỏ bởi con trỏ fp hay chưa.
– Hàm fclose(fp) để đóng tập tin lại.2. Các thao tác trên tập tin văn bản
c. Thêm dữ liệu vào tập tin văn bản
– Hàm fopen để mở với tùy chọn “at”
– Hàm fprintf để ghi dữ liệu từ biến bộ nhớ
vào cuối tập tin
– Hàm fclose(fp) để đóng tập tin lại
11 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 516 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Lập trình C++ - Chương 5: Lập trình tập tin, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 5: LẬP TRÌNH TẬP TIN
1. Tổng quan về lập trình trên tập tin
2. Các thao tác trên tập tin văn bản
a. Tạo tập tin văn bản
b. Mở tập tin văn bản
c. Thêm dữ liệu vào tập tin văn bản
3. Các thao tác trên tập tin nhị phân
Tạo / Mở / Thêm
4. Xử lý tập tin gồm nhiều mẩu tin
a. Tạo / Mở tập tin gồm các mẩu tin
b. Thêm mẩu tin vào tập tin có sẵn
c. Thao tác đọc ghi phức hợp
1.Tổng quan về lập trình trên tập tin
a. Giới thiệu
– Trong lập trình, chúng ta không chỉ giải quyết bài toán mà còn
phải thực hiện một số thao tác khác với dữ liệu như đưa dữ
liệu từ bộ nhớ ngoài vào, lưu dữ liệu ra bộ nhớ ngoài
– Như vậy, một số thao tác cần thực hiện khi giao tiếp với bộ
nhớ ngoài như mở, đóng đối với tập tin, đọc, ghi, sửa, lưu dữ
liệu.
– Theo cấu tạo của bộ nhớ ngoài, (cấu tạo đĩa, sector), các thao
tác ghi, xóa chỉnh sửa dẫn tới có thể phải thay đổi, di dời một
số bye. Ngoài việc cấu trúc tập tin tổ chức tự động, người lập
trình cũng cần can thiệp và định vị vị trí để lưu, sửa
– Lập trình tập tin ta dùng biến con trỏ FILE * để tham chiếu tới
các tập tin
– Các loại tập tin lưu dữ liệu bao gồm tập tin văn bản và tập tin
nhị phân
1.Tổng quan về lập trình trên tập tin
b. Tập tin văn bản
– Là tập tin dùng để lưu các dòng văn bản.
– Mỗi tập tin văn bản có thể gồm nhiều dòng và mỗi
dòng chúng được ngăn cách bởi $0A.
– Kết thúc tập tin là $1A. Trường hợp phía sau ký tự kết
thúc mà còn dữ liệu thì dữ liệu đó được coi như rác.
– Một số tập tin tạo từ DOS, notepad là các tập tin
văn bản
c. Tập tin nhị phân
– Là các loại tập tin còn lại bao gồm các tập tin có đuôi
exe, com, các tập tin hình ảnh, văn bản
– Các tập tin đươc tạo ra từ phần mềm nào thì được
nhận biết từ phần mềm đó và công ty sở hữu phần
mềm có quyền công bố cấu trúc của tập tin hay
không.
2. Các thao tác trên tập tin văn bản
a. Tạo tập tin văn bản
– Dùng hàm fopen với tùy chọn “wt” để tạo tập tin
mới.
• Cú pháp: fp = fopen(char *ten, “wt”) trong đó
• fp là con trỏ tập tin;
• ten là tên và đường dẫn tới địa chỉ cần lưu trên bộ nhớ
ngoài;
– Hàm fprintf ghi dữ liệu là hằng hay biến bộ nhớ vào
tập tin
• Cú pháp: fprintf(fp, s) hoặc fprintf (fp, “hằng”) trong đó
• fp là con trỏ tập tin
• s là biến bộ nhớ
– Hàm fclose (fp) cho phép đóng tập tin.
2. Các thao tác trên tập tin văn bản
b. Mở (đọc) tập tin văn bản
– Hàm fopen để mở với tùy chọn “rt”
– Hàm fgets để đọc dữ liệu từ tập tin vào biến
bộ nhớ theo cú pháp:
• fgets(bien, sokt, fp) trong đó
– bien: là biến bộ nhớ
– sokt: là số ký tự tối đa cho mỗi lần đọc
– fp: là con trỏ FILE trỏ tới tập tin cần đọc
• Chú ý: Hàm feof(fp) cho biết đã kết thúc tập tin
được trỏ bởi con trỏ fp hay chưa.
– Hàm fclose(fp) để đóng tập tin lại.
2. Các thao tác trên tập tin văn bản
c. Thêm dữ liệu vào tập tin văn bản
– Hàm fopen để mở với tùy chọn “at”
– Hàm fprintf để ghi dữ liệu từ biến bộ nhớ
vào cuối tập tin
– Hàm fclose(fp) để đóng tập tin lại
3.Các thao tác trên tập tin nhị phân
a. Tạo tập tin nhị phân
– Dùng hàm fopen với tùy chọn “wb” để tạo tập tin
mới.
• Cú pháp: fp = fopen(char *ten,”wb”) trong đó
• fp là con trỏ tập tin;
• ten là tên và đường dẫn tới địa chỉ cần lưu trên bộ nhớ
ngoài;
– Hàm fwrite ghi dữ liệu là hằng hay biến bộ nhớ vào
tập tin
• Cú pháp: fwrite(bien,size, n, fp)
• fp là con trỏ tập tin
• bien là biến bộ nhớ kiểu con trỏ
• size: là kích thước của biến
• n là số lượng
– Hàm fclose (fp) cho phép đóng tập tin.
2. Các thao tác trên tập tin nhị phân
b. Mở (đọc) tập tin nhị phân
– Hàm fopen để mở với tùy chọn “rb”
– Hàm fread để đọc dữ liệu từ tập tin vào biến
bộ nhớ theo cú pháp:
• fread(bien,size,n,fp) trong đó
– bien: là biến bộ nhớ kiểu con trỏ
– size là kích thước biến
– n là số phần tử
– fp: là con trỏ FILE trỏ tới tập tin cần đọc
– Hàm fclose(fp) để đóng tập tin lại.
3. Các thao tác trên tập tin nhị phân
c. Thêm dữ liệu vào tập tin nhị phân
– Hàm fopen để mở với tùy chọn “ab”
– Hàm fwrite để ghi dữ liệu từ biến bộ nhớ
vào cuối tập tin
– Hàm fclose(fp) để đóng tập tin lại
4. Xử lý tập tin gồm nhiều mẩu tin
a. Tạo / Mở tập tin gồm các mẩu tin
– Tạo tập tin gọi hàm fopen(fp, “wb”)
– Hàm fwrite để ghi dữ liệu là các cấu trúc từ biến bộ
nhớ ra tập tin
– Hàm fread để đọc dữ liệu từ bộ nhớ vào biến cấu
trúc
– Hàm fclose(fp) để đóng tập tin.
b. Thêm mẩu tin vào tập tin có sẵn
– Để thêm mẩu tin vào tập tin gọi hàm fopen(fp,”ab”)
4. Xử lý tập tin gồm nhiều mẩu tin
c. Thao tác đọc ghi phức hợp
Trong trường hợp cần mở tập tin rồi thêm,
sửa, lưu.. thì cần thực hiện các thao tác để
xác định vị trí của mẩu tin với các hàm như
sau:
– Hàm fopen(fp, “r+b”)
– Hàm ftell sẽ đánh dấu 1 vị trí của mẩu tin
vtri = ftell(pf);
– Hàm fseek để đưa đầu đọc/ghi đến mẩu tin thích
hợp theo cú pháp:
fseek(fp, vtri, SEEK_SET)
Các file đính kèm theo tài liệu này:
- bai_giang_lap_trinh_c_chuong_5_lap_trinh_tap_tin.pdf