Thứ Bảy, 16 tháng 7, 2016

Step 12 . Vào ra File

Ví du:
 
-Giải thích chương trình
- Dòng 9: FILE *f;: khai báo biến con trỏ f có kiểu cấu trúc FILE.
- Dòng 15: if(f = fopen("int_data.dat", "wb") == NULL): là câu lệnh mở tập tin có
tên int_data.dat ở mode "w" (ghi ) dạng "b" (nhị phân), sau khi lệnh này thực hiện xong trả về
dạng con trỏ FILE và gán cho f, nếu kết quả trả về = NULL thì không thể mở được tập tin, tập tin
mở ở mode "w" nếu trên đĩa đã có sẵn tập tin này thì nội dung của nó sẽ bị ghi đè, nếu chưa có thì
tập tin sẽ được tạo mới.
- Dòng 22: fwrite(&i, sizeof(int), 1, f);: ghi thông tin vào tập tin, thông tin được ghi
vào mỗi lần là một số nguyên i. Hàm này có 4 đối số: địa chỉ để ghi cấu trúc, kích thước của cấu
trúc và số cấu trúc sẽ ghi, sau cùng là con trỏ để trỏ tới tập tin.
- Dòng 23: fclose(f);: đóng tập tin
- Dòng 26: f = fopen("int_data.dat", "rb");: mở tập tin có tên int_data.dat ở mode
"r" (đọc) dạng "b" (nhị phân). Tập tin phải có sẵn trên đĩa.
- Dòng 27: while(fread(&i, sizeof(int), 1, f) == 1): đọc thông tin từ tập tin, mỗi lần
đọc một số nguyên và lưu vào biến i. Mỗi lần đọc thành công giá trị trả về sẽ là số cấu trúc thực
sự được đọc, nếu giá trị trả về = 0 báo hiệu kết thúc file.
-


Các mode mở tập tin: 
 "a": mở để nối thêm, thông tin sẽ được ghi thêm vào cuối của tập tin đã có hoặc tạo tập
tin mới nếu chưa có trên đĩa.
- "r+": mở để vừa đọc vừa ghi, tập tin phải có sẵn trên đĩa.
- "w+": mở để vừa đọc vừa ghi, nội dung của tập tin đã có trên đĩa sẽ bị ghi đè lên.
- "a+": mở để đọc và nối thêm, nếu trên đĩa chưa có tập tin nó sẽ được tạo mới.

Không có nhận xét nào:

Đăng nhận xét