Bài giảng Ngôn ngữ lập trình C: Dữ liệu kiểu tệp - Ninh Thị Thanh Tâm
Số trang: 33
Loại file: pdf
Dung lượng: 294.20 KB
Lượt xem: 2
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Ngôn ngữ lập trình C về "Dữ liệu kiểu tệp" gồm có các nội dung sau đây: 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. Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C: Dữ liệu kiểu tệp - Ninh Thị Thanh TâmNGÔN NGỮ LẬP TRÌNH C Dữ liệu kiểu tệp Ninh Thị Thanh TâmKhoa CNTT – HV Quản lý Giáo dụcMục đích Biết các thao tác xử lý tệp như tạo tệp, đọc ghi tệp… Xử lý tệp truy cập tuần tự Xử lý tệp truy cập ngẫu nhiênNộ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ấpKhái niệm về tệp Đường dẫn truy cập các tệp Thẻ tệp (file handle) Các thông tin về tệp Các kiểu vào ra với tệpKhái niệm về tệp Đường dẫn truy cập các tệp Tên ổ đĩa Tên các thư mục Tên tệp Phần mở rộng Thẻ tệp (file handle) Là một số nguyên hệ điều hành trả lại khi tạo hay mở tệp Dùng để truy cập đến một cấu trúc lưu trữ các thông tin cần thiết cho các thao tác với tệpKhái niệm về tệp Các thông tin về tệp Các thuộc tính của tệp đã mở Kích thước và trạng thái tệp Chế độ truyền: nhị phân và văn bản Các kiểu vào ra với tệp Các hàm vào ra theo dòng qua vùng đệm Các hàm vào ra tệp mức thấp, không qua vùng đệmCác hàm vào ra tệp cơ bảnTên hàm Chức năngfopen() Mở tệpfclose() Đóng tệpputc() Ghi một kí tự lên tệpgetc() Đọc một kí tự từ tệpfseek() Di chuyển con trỏ tệp đến một byte được chỉ địnhfprintf() Ghi lên tệpfscanf() Nhập dữ liệu từ tệpfflush() ghi ra tệp nội dung trên vùng đệmfeof() Trả về giá trị khác 0 nếu con trỏ ở cuối tệpferror() Trả về giá trị khác 0 nếu có lỗi xuất hiện trong thao tácrewind() Đưa con trỏ về đầu tệpCon 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ên tệp Tình trạng Vị trí đang làm việcCon trỏ tệpChế độ Ý nghĩa“r” Mở tệp để đọc, trả lại lỗi nếu tệp không tồn tại“w” Mở tệp để ghi, nếu tệp đã tồn tại, nội dung sẽ bị xóa“a” Mở tệp để ghi thêm vào cuối tệp“r+” Mở tệp để đọc và ghi, fopen trả lại lỗi nếu tệp không tồn tại“w+” Mở một tệp mới để đọc và ghi, nội dung bị xóa nếu tệp tồn tại“a+” Mở một tệp để ghi vào cuối tệp“t” Mở tệp theo kiểu văn bản“b” Mở tệp theo kiểu nhị phânHà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 Con trỏ tệp nếu mở tệp thành côngVí dụfp = fopen(readme.txt,rt);if (fp==NULL){ printf(Khong mo duoc tep); exit(0);}Hà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 EOFHàm getc() Đọc một kí tự từ tệp đã được mở Hàm nguyên mẫu:int getc(FILE *fp) fp là con trỏ tệp trả về trong thao tác mở tệp Kết quả Thành công: trả lại kí tự vừa đọc được Thất bại: trả lại EOFVí dụ Đọc đến cuối tệp văn bảnch = getc();while (ch!=EOF) { ch = getc(fp); ...} Đọc tệp nhị phân khi gặp kí tự kết thúc tệpwhile (!feof(fp)) ch = getc(fp);Hàm fclose() Đóng tệp đã được mở Hàm nguyên mẫu:int fclose(FILE *fp) fp là con trỏ tệp trả về trong thao tác mở tệp Kết quả Thành công: trả lại 0 Thất bại: trả lại EOFVí dụ - sao chép tệp/*filecopy.c*/#include #include void main(){ FILE *fin, *fout; char ch; fin = fopen(filecopy.c,rb); if (fin == NULL) { printf(Khong mo duoc tep nguon\n); exit(1); } fout = fopen(fout.dat, wb); if (fout==NULL){ printf(Khong mo duoc tep dich\n); exit(1); } while (!feof(fin)) putc(getc(fin), fout); fclose(fin); fclose(fout);}Hàm ferror() Kiểm tra thao tác truy xuất trên tệp trước đó có lỗi hay không Hàm nguyên mẫu int ferror(FILE *fp); Kết quả Bằng 0, nếu thao tác trước đó không có lỗi Khác 0, ngược lạiHàm rewind() Đưa con trỏ về đầu tệp Hàm nguyên mẫu int rewind(FILE *fp);Hàm getw() và putw() Đọc/ghi các số nguyên 2 byte Hàm nguyên mẫu int getw(FILE *fp); int putw(int w, FILE *fp);Hàm fgets() và fputs() Đọc/ghi các chuỗi kí tự Hàm nguyên mẫu char *fgets(char *str, int num, FILE *fp); char *fputs(char *str, FILE *fp);
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C: Dữ liệu kiểu tệp - Ninh Thị Thanh TâmNGÔN NGỮ LẬP TRÌNH C Dữ liệu kiểu tệp Ninh Thị Thanh TâmKhoa CNTT – HV Quản lý Giáo dụcMục đích Biết các thao tác xử lý tệp như tạo tệp, đọc ghi tệp… Xử lý tệp truy cập tuần tự Xử lý tệp truy cập ngẫu nhiênNộ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ấpKhái niệm về tệp Đường dẫn truy cập các tệp Thẻ tệp (file handle) Các thông tin về tệp Các kiểu vào ra với tệpKhái niệm về tệp Đường dẫn truy cập các tệp Tên ổ đĩa Tên các thư mục Tên tệp Phần mở rộng Thẻ tệp (file handle) Là một số nguyên hệ điều hành trả lại khi tạo hay mở tệp Dùng để truy cập đến một cấu trúc lưu trữ các thông tin cần thiết cho các thao tác với tệpKhái niệm về tệp Các thông tin về tệp Các thuộc tính của tệp đã mở Kích thước và trạng thái tệp Chế độ truyền: nhị phân và văn bản Các kiểu vào ra với tệp Các hàm vào ra theo dòng qua vùng đệm Các hàm vào ra tệp mức thấp, không qua vùng đệmCác hàm vào ra tệp cơ bảnTên hàm Chức năngfopen() Mở tệpfclose() Đóng tệpputc() Ghi một kí tự lên tệpgetc() Đọc một kí tự từ tệpfseek() Di chuyển con trỏ tệp đến một byte được chỉ địnhfprintf() Ghi lên tệpfscanf() Nhập dữ liệu từ tệpfflush() ghi ra tệp nội dung trên vùng đệmfeof() Trả về giá trị khác 0 nếu con trỏ ở cuối tệpferror() Trả về giá trị khác 0 nếu có lỗi xuất hiện trong thao tácrewind() Đưa con trỏ về đầu tệpCon 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ên tệp Tình trạng Vị trí đang làm việcCon trỏ tệpChế độ Ý nghĩa“r” Mở tệp để đọc, trả lại lỗi nếu tệp không tồn tại“w” Mở tệp để ghi, nếu tệp đã tồn tại, nội dung sẽ bị xóa“a” Mở tệp để ghi thêm vào cuối tệp“r+” Mở tệp để đọc và ghi, fopen trả lại lỗi nếu tệp không tồn tại“w+” Mở một tệp mới để đọc và ghi, nội dung bị xóa nếu tệp tồn tại“a+” Mở một tệp để ghi vào cuối tệp“t” Mở tệp theo kiểu văn bản“b” Mở tệp theo kiểu nhị phânHà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 Con trỏ tệp nếu mở tệp thành côngVí dụfp = fopen(readme.txt,rt);if (fp==NULL){ printf(Khong mo duoc tep); exit(0);}Hà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 EOFHàm getc() Đọc một kí tự từ tệp đã được mở Hàm nguyên mẫu:int getc(FILE *fp) fp là con trỏ tệp trả về trong thao tác mở tệp Kết quả Thành công: trả lại kí tự vừa đọc được Thất bại: trả lại EOFVí dụ Đọc đến cuối tệp văn bảnch = getc();while (ch!=EOF) { ch = getc(fp); ...} Đọc tệp nhị phân khi gặp kí tự kết thúc tệpwhile (!feof(fp)) ch = getc(fp);Hàm fclose() Đóng tệp đã được mở Hàm nguyên mẫu:int fclose(FILE *fp) fp là con trỏ tệp trả về trong thao tác mở tệp Kết quả Thành công: trả lại 0 Thất bại: trả lại EOFVí dụ - sao chép tệp/*filecopy.c*/#include #include void main(){ FILE *fin, *fout; char ch; fin = fopen(filecopy.c,rb); if (fin == NULL) { printf(Khong mo duoc tep nguon\n); exit(1); } fout = fopen(fout.dat, wb); if (fout==NULL){ printf(Khong mo duoc tep dich\n); exit(1); } while (!feof(fin)) putc(getc(fin), fout); fclose(fin); fclose(fout);}Hàm ferror() Kiểm tra thao tác truy xuất trên tệp trước đó có lỗi hay không Hàm nguyên mẫu int ferror(FILE *fp); Kết quả Bằng 0, nếu thao tác trước đó không có lỗi Khác 0, ngược lạiHàm rewind() Đưa con trỏ về đầu tệp Hàm nguyên mẫu int rewind(FILE *fp);Hàm getw() và putw() Đọc/ghi các số nguyên 2 byte Hàm nguyên mẫu int getw(FILE *fp); int putw(int w, FILE *fp);Hàm fgets() và fputs() Đọc/ghi các chuỗi kí tự Hàm nguyên mẫu char *fgets(char *str, int num, FILE *fp); char *fputs(char *str, FILE *fp);
Tìm kiếm theo từ khóa liên quan:
Ngôn ngữ lập trình C Bài giảng Ngôn ngữ lập trình C Ngôn ngữ lập trình Dữ liệu kiểu tệp Hàm vào ra tệp Hàm thao tác vào raGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 269 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 259 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 259 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 230 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 220 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 211 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 202 0 0 -
101 trang 199 1 0
-
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 177 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 169 0 0