Ngôn Ngữ Lập Trình C Dữ liệu kiểu tệp

33 286 0
Ngôn Ngữ Lập Trình C Dữ liệu kiểu tệp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

NGÔ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 Mục đích Biết thao tác xử lý tệp tạo tệp, đọc ghi tệp…  Xử lý tệp truy cập  Xử lý tệp truy cập ngẫu nhiên  Nội dung Khái niệm tệp  Các hàm vào tệp  Các hàm thao tác vào tệp mức thấp  Khái niệm tệp Đường dẫn truy cập tệp  Thẻ tệp (file handle)  Các thông tin tệp  Các kiểu vào với tệp  Khái niệm tệp  Đường dẫn truy cập tệp ổ đĩa  Tên thư mục  Tên tệp  Phần mở rộng  Tên  Thẻ tệp (file handle) số nguyên hệ điều hành trả lại tạo hay mở tệp  Dùng để truy cập đến cấu trúc lưu trữ thông tin cần thiết cho thao tác với tệp  Là Khái niệm tệp  Các thông tin tệp thuộc tính tệp mở  Kích thước trạng thái tệp  Chế độ truyền: nhị phân văn  Các  Các kiểu vào với tệp hàm vào theo dòng qua vùng đệm  Các hàm vào tệp mức thấp, không qua vùng đệm  Các Các hàm vào tệp Tên hàm Chức fopen() Mở tệp fclose() Đóng tệp putc() Ghi kí tự lên tệp getc() Đọc kí tự từ tệp fseek() Di chuyển trỏ tệp đến byte định fprintf() Ghi lên tệp fscanf() Nhập liệu từ tệp fflush() ghi tệp nội dung vùng đệm feof() Trả giá trị khác trỏ cuối tệp ferror() Trả giá trị khác có lỗi xuất thao tác rewind() Đưa trỏ đầu tệp Con trỏ tệp Là trỏ kiểu FILE  Chỉ đến vùng nhớ chứa thông tin liên quan đến tệp   Tên tệp  Tình trạng  Vị trí làm việc Con trỏ tệp Chế độ Ý nghĩa “r” Mở tệp để đọc, trả lại lỗi tệp không tồn “w” Mở tệp để ghi, tệp tồn tại, nội dung bị xóa “a” Mở tệp để ghi thêm vào cuối tệp “r+” Mở tệp để đọc ghi, fopen trả lại lỗi tệp không tồn “w+” Mở tệp để đọc ghi, nội dung bị xóa tệp tồn “a+” Mở tệp để ghi vào cuối tệp “t” Mở tệp theo kiểu văn “b” Mở tệp theo kiểu nhị phân Hàm fopen() Mở tệp  Hàm nguyên mẫu:  FILE *fopen(const char *filename, const char *mode); xâu kí tự gồm tên tệp đường dẫn tới tệp  mode trạng thái làm việc tệp sau mở  filename  Kết  NULL thất bại  Con trỏ tệp mở tệp thành công Hàm getw() putw() Đọc/ghi số nguyên byte  Hàm nguyên mẫu int getw(FILE *fp); int putw(int w, FILE *fp);  Hàm fgets() fputs() Đọc/ghi chuỗi kí tự  Hàm nguyên mẫu char *fgets(char *str, int num, FILE *fp); char *fputs(char *str, FILE *fp);  Hàm fread() fwrite() Đọc/ghi khối liệu  Hàm nguyên mẫu int fread(void *buffer, int so_byte, int so_muc, FILE *fp); int fwrite(void *buffer, int so_byte, int so_muc, FILE *fp);  Ví dụ  Nhập tên tệp văn bản; đọc in nội dung lên hình /*readfile.c*/ #include #include void main(){ FILE *fp; char filename[50]; char w[300]; printf("Nhap ten tep:"); gets(filename); fp = fopen(filename,"r"); if (!fp){ printf("Khong mo duoc tep nguon\n"); exit(1); } while (fgets(w,300,fp)) puts(w); fclose(fp); getch(); } Ví dụ  Lập tệp văn in lại 50 số nguyên tố đầu tiên, dòng 10 số Đọc in nội dung tệp /*filent.c*/  #include  #include  int ktnt(int);  void laptep(char *);  void doctep(char *);  void main(){ int chon; printf("Lap tep go 1, doc tep go 0\n"); scanf("%d",&chon); if (chon==1) laptep("nto.dat"); if (chon==0) doctep("nto.dat"); getch(); } int ktnt(int k){ int i; if (k==1||k==0) return 0; for (i=2; i1; } void laptep(char *filename){ FILE *f; int i; int k = 2; f = fopen(filename,"w"); if (!f){ printf("Khong tao duoc tep.\n"); exit(1); } for (i=1; i

Ngày đăng: 14/12/2016, 10:33