Đọc - Ghi File trong C | 64 bài học lập trình C hay nhất file io trong c

4 344 0
Đọc - Ghi File trong C | 64 bài học lập trình C hay nhất file io trong c

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

Thông tin tài liệu

http://vietjack.com/lap_trinh_c/index.jsp                                                                                                              Copyright  ©  vietjack.com     Đọc - Ghi File C Chương trước giải thích thiết bị nhập – xuất tiêu chuẩn xử lý ngôn ngữ C Ở chương thấy cách lập trình viên tạo, mở đóng file văn file nhị phân với liệu lưu trữ Một file biểu diễn chuỗi bytes, khơng kể file văn hay file nhị phân Ngơn ngữ lập trình C cung cấp hàm truy cập mức độ cao thấp (mức hệ điều hành) để thao tác với file thiết bị lưu trữ Chương đưa bạn đến cách gọi hàm quan trọng cho việc quản lý file Mở file C Bạn sử dụng hàm fopen() để tạo file để mở file tồn Cách gọi khởi tạo đối tượng loại FILE, mà bao gồm thông tin cần thiết để điều khiển luồng Dưới cách gọi hàm: FILE *fopen( const char * ten_file, const char * che_do ); Ở đây, ten_file chuỗi, coi tên file giá trị che_do truy cập giá trị đây: Mode Miêu tả r Mở file tồn với mục đích đọc w Mở file với mục đích ghi Nếu file chưa tồn thi file tạo Ở đây, chương trình bắt đầu ghi nội dung từ phần mở đầu file a Mở file văn cho việc ghi chế độ ghi vào cuối, chưa tồn file tạo Đây chương trình ghi nội dung với phần cuối file tồn r+ Mở file văn với mục đích đọc ghi http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/lap_trinh_c/index.jsp                                                                                                              Copyright  ©  vietjack.com     w+ Mở file văn cho chế độ đọc ghi Nó làm trắng file tồn file có tạo file chưa có a+ Mở file tồn với mục đích đọc ghi Nó tạo file khơng tồn Việc đọc file bắt đầu đọc từ đầu ghi file ghi vào cuối file Nếu bạn thao tác với file nhị phân, bạn có cách truy xuất thay cho trường hợp sau: "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b" Đóng file C Để đóng file bạn sử dụng hàm fclose() đây: int fclose( FILE *fp ); Hàm fclose( ) trả giá trị zero thành cơng EOF có lỗi q trình đóng file Hàm thực tế xóa liệu đệm file, đóng file giải phóng nhớ sử dụng với file EOF số định nghĩa phần stdio.h Có nhiều hàm đa dạng cung cấp thư viện chuẩn ngôn ngữ C để đọc ghi ký tự dạng với số lượng ký tự cố định Chúng ta xem xét ví dụ sau đây: Ghi tới file C Dưới hàm đơn giản để thực việc ghi ký tự riêng tới luồng: int fputc( int c, FILE *fp ); Hàm fputc() ghi ký tự với giá trị tham số c đến luồng tham chiếu trỏ fp Nó trả ký tự ghi thành cơng EOF có lỗi Bạn sử dụng hàm sau để ghi chuỗi kết thúc ký tự null đến luồng: int fputs( const char *s, FILE *fp ); http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/lap_trinh_c/index.jsp                                                                                                              Copyright  ©  vietjack.com     Hàm fputs() ghi chuỗi s đến luồng tham chiếu fp Nó trả giá trị không âm thành công trả ký tự EOF xảy lỗi Bạn sử dụng hàm int fprintf(FILE *fp,const char *format, ) để ghi chuỗi file Thử ví dụ đây: Bạn phải chắn bạn có thư mục /tmp, khơng có, bạn phải tạo thư mục máy bạn #include main() { FILE *fp; fp = fopen("vidu.txt", "w+"); fprintf(fp, "Vi du kiem tra ham fprintf \n"); fputs("Vi du kiem tra ham fputs \n", fp); fclose(fp); } Khi đoạn code biên dịch thực hiện, tạo file vidu.txt ghi vào dòng hàm khác Cùng đọc file phần Đọc file C Dưới hàm đơn giản để đọc ký tự riêng rẽ từ file: int fgetc( FILE * fp ); Hàm fgetc() đọc ký tự từ file tham chiếu trở fp Giá trị trả ký tự đọc thành công, trường hợp lỗi trả EOF Hàm cho phép bạn đọc chuỗi từ luồng: char *fgets( char *buf, int n, FILE *fp ); Hàm fgets() đọc n-1 ký tự từ luồng vào tham chiếu fp Nó copy chuỗi đọc đến đệm buf, gán ký tự null vào kết thúc chuỗi Nếu hàm gặp phải ký tự newline (xuống dòng) '\n' ký tự EOF trước đọc số lượng tối đa ký tự, trả ký tự ký tự xuống dòng ký tự xuống dòng Bạn sử dụng hàm int fscanf(FILE *fp, const char *format, ) để đọc chuỗi từ file, dừng việc đọc khoảng trắng gặp phải: #include main() { FILE *fp; char buff[255]; fp = fopen("vidu.txt", "r"); fscanf(fp, "%s", buff); printf("1 : %s\n", buff ); fgets(buff, 255, (FILE*)fp); printf("2: %s\n", buff ); fgets(buff, 255, (FILE*)fp); printf("3: %s\n", buff ); fclose(fp); } Biên dịch chạy chương trình C trên, đọc từ file tạo từ khu vực trước in kết sau đây: http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     http://vietjack.com/lap_trinh_c/index.jsp                                                                                                              Copyright  ©  vietjack.com     Cùng xem chút chi tiết điều xảy Đầu tiên fscanf() đọc This sau gặp phải dấu cách, hàm fgets() trả dòng lại gặp ký tự cuối file Cuối gọi hàm fgets() để đọc hồn tồn dòng thứ Hàm Nhập – Xuất nhị phân C Dưới hai hàm, sử dụng cho việc input output nhị phân: size_t fread(void *ptr, size_t kich_co_cua_cac_phan_tu, size_t so_phan_tu, FILE *ten_file); size_t fwrite(const void *ptr, size_t kich_co_cua_cac_phan_tu, size_t so_phan_tu, FILE *ten_file); Cả hàm sử dụng để đọc ghi khối nhớ, thường mảng cấu trúc   http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí     ... độ đ c ghi Nó làm trắng file tồn file c tạo file chưa c a+ Mở file tồn với m c đích đ c ghi Nó tạo file khơng tồn Vi c đ c file bắt đầu đ c từ đầu ghi file ghi vào cuối file Nếu bạn thao t c. .. fp); fclose(fp); } Khi đoạn code biên dịch th c hiện, tạo file vidu.txt ghi vào dòng hàm kh c Cùng đ c file phần Đ c file C Dưới hàm đơn giản để đ c ký tự riêng rẽ từ file: int fgetc( FILE *... size_t kich_co_cua_cac_phan_tu, size_t so_phan_tu, FILE *ten _file) ; size_t fwrite(const void *ptr, size_t kich_co_cua_cac_phan_tu, size_t so_phan_tu, FILE *ten _file) ; C hàm sử dụng để đ c ghi khối

Ngày đăng: 02/12/2017, 14:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan