NGÔN NGỮ LẬP TRÌNH CDữ liệu kiểu tệp Ninh Thị Thanh Tâm Khoa CNTT – HV Quản lý Giáo dục... Nội dung Khái niệm về tệp Các hàm vào ra tệp cơ bản Các hàm thao tác vào ra tệp mức thấp..
Trang 1NGÔN NGỮ LẬP TRÌNH C
Dữ liệu kiểu tệp
Ninh Thị Thanh Tâm Khoa CNTT – HV Quản lý Giáo dục
Trang 3Nội dung
Khái niệm về tệp
Các hàm vào ra tệp cơ bản
Các hàm thao tác vào ra tệp mức thấp
Trang 6Khái niệm về tệp
Các thông tin về tệp
Kích thước và trạng thái tệp
Các kiểu vào ra với tệp
vùng đệm
Trang 7Ghi lên tệpfprintf()
Di chuyển con trỏ tệp đến một byte được chỉ địnhfseek()
Đọc một kí tự từ tệpgetc()
Ghi một kí tự lên tệpputc()
Đóng tệpfclose()
Mở tệpfopen()
Chức năngTên hàm
Trang 8Con trỏ tệp
Là một con trỏ kiểu FILE
Chỉ đến vùng nhớ chứa các thông tin liên quan đến tệp
Tình trạng
Vị trí đang làm việc
Trang 10Hàm fopen()
Mở tệp
Hàm nguyên mẫu:
FILE *fopen(const char *filename, const char *mode);
filename là xâu kí t ự gồm tên tệp và đường dẫn tới tệp
mode là tr ạng thái làm việc của tệp sau khi mở
Kết quả
NULL n ếu thất bại
Trang 12Hàm putc()
Ghi một kí tự lên tệp đã được mở
Hàm nguyên mẫu:
int putc(int ch, FILE *fp)
fp là con tr ỏ tệp trả về trong thao tác mở tệp
ch là kí t ự cần ghi lên tệp
Kết quả
Thành công: trả lại kí tự vừa ghi được
Thất bại: trả lại EOF
Trang 13 Thành công: trả lại kí tự vừa đọc được
Thất bại: trả lại EOF
Trang 14ch = getc(fp);
Trang 17Hàm ferror()
Kiểm tra thao tác truy xuất trên tệp trước
đó có lỗi hay không
Trang 18Hàm rewind()
Đưa con trỏ về đầu tệp
Hàm nguyên mẫu
int rewind(FILE *fp);
Trang 22Ví dụ
Nhập tên tệp văn bản; đọc và in nội dung lên màn hình
Trang 24Ví dụ
Lập một tệp văn bản in lại 50 số nguyên tố đầu tiên, mỗi dòng 10 số Đọc và in nội
dung tệp.
Trang 27void laptep(char *filename){
Trang 28void doctep(char *filename){
Trang 31float *nhap(char *tep){
Trang 32float shang(float *x, int k){
}
Trang 33void ghitep(float *x, char *tep){