Bài giảng Tin học cơ sở 4: Tập tin - TS. Vũ Thị Hồng Nhạn
lượt xem 3
download
Bài giảng Tin học cơ sở 4: Tập tin, cung cấp cho người học những kiến thức như sử dụng tập tin (file); mở, đóng file; ghi, đọc file với số nguyên, mảng, chuỗi. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học cơ sở 4: Tập tin - TS. Vũ Thị Hồng Nhạn
- Tin Học Cơ Sở 4: Tập Tin Vũ Thị Hồng Nhạn (vthnhan@vnu.edu.vn) Human Machine Interaction Lab. Vietnam National Univ., Hanoi
- Nội dung S d ng t p tin (file) M , đóng file Ghi, đ c file v i s nguyên, m ng, chu i K t lu n 30/03/2016 Files Page 2
- Dòng (streams) Trong nhi u ngôn ng l p trình, vào/ra (input/output) đư c th c hi n trên dòng d li u D li u t n t i trên dòng, ta có th truy c p và s d ng theo nhu c u Ví d stdout: dòng xu t ra chu n stderr: dòng ra xu t ra l i chu n stdin: dòng nh p vào chu n files network sockets (k t n i m ng: network connections) 30/03/2016 Files Page 3
- File D li u thư ng đư c lưu trong các file và đây cũng là ngu n d li u cho chương trình D li u nh p vào Xu t d li u • Tr c ti p t bàn phím Chương trình • Màn hình • File trên đĩa (program) • File lưu trên đĩa • Kho d li u trên m ng • Máy in … … 30/03/2016 Files Page 4
- Cơ bản về file D li u bi u di n theo cách c a user (vd. S 12) đư c lưu trong các file ASCII Symbol 64 @ Dư i d ng nh phân (1100) 65 A 66 B Trư ng h p lưu tr chu n không có mã hóa 67 C 68 D 69 E Ký t : mã ASCII 70 F …. …. Chu i ký t : chu i mã ASCII c a t ng ký t S : chu i mà ASCII c a ký t s ho c bi u di n nh phân c a s Đ c đi m truy xu t data trong t p tin Tu n t t ng byte 30/03/2016 Files Page 5
- Cơ bản về file (tiếp) H đi u hành xác đ nh 1 file b ng “đư ng d n” Đó là m t chu i các ký t Đư ng d n tuy t đ i (absolute path), ví d , C:\\folder1\folder2\dulieu.txt N u file n m trong thư m c hi n hành Ch c n khai báo “tên file” là đ : “dulieu.txt” G i là “đư ng d n tương đ i” (relative path) 30/03/2016 Files Page 6
- Phân loại files T p tin văn b n (text file) D li u lưu tr là mã ASCII c a ký t , ký s T p tin nh phân (binary file) D li u lưu tr là d ng nh phân c a ký t 30/03/2016 Files Page 7
- Phân loại files (tiếp) Hai lo i lưu tr khác nhau nên vi c truy xu t d liêu…. t file ra bi n c n đ n các hàm thư vi n khác nhau Binary file Dùng đ lưu tr d li u dư i d ng c u trúc có kích thư c c đ nh Khi ghi “bi n có c u trúc” lên file ghi m t kh i có kích thư c c đ nh Và đ c t file ra bi n c u trúc, cũng đ c t file theo kh i có kích thư c c đ nh 30/03/2016 Files Page 8
- Vào/ra file Trư c khi có th Đ c & Ghi đư c Ph i m file, dùng hàm thư vi n fopen fopen nh n m t tên ngoài như “data.txt”, th c hi n các th t c v i h đi u hành và tr l i m t “con tr ” Ta dùng con tr này đ đ c và ghi vào file Con tr “tr t i” m t structure FILE FILE *fp 30/03/2016 Files Page 9
- fopen FILE *fopen(char *name, char *mode); fopen tr l i con tr tr t i FILE FILE là tên ki u mode có th là r: đ c (read) w: ghi (write) a: thêm vào (append) Có th thêm “b” vào chu i mode, cho phép làm vi c v i file nh phân N u m file không thành công, l nh tr v giá tr NULL 30/03/2016 Files Page 10
- Đóng file: fclose int fclose(FILE *fp); 0: đư c tr l i n u thành công EOF (h ng -1) n u th t b i Ki m tra xem file có t n t i không Ví d int FileExist (char *fname){ FILE* fp = fopen(fname, “r”); int kq; kq = (fp==NULL)? 0 : 1; if (fp) fclose(fp); return kq; } 30/03/2016 Files Page 11
- Ví dụ 1 Ghi và đ c s nguyên t 1…n int main(){ //Ghi file FILE *fp; fp = fopen("data.txt","wb"); int i,n; if(fp= =NULL){ printf(“Nhập vào số n:"); printf(“Không thể mở tên file.\n"); scanf("%d", &n); exit(0); }else for(i=1;i
- fwrite, fread fwrite(&i, sizeof(int), 1, fp) fread(&i, sizeof(int), 1, fp) =1 ho c 0 Ghi thông tin i vào t p tin Đ c thông tin t t p tin lưu vào i Hàm có 4 đ i s Đ c thành công hàm tr v 1, và 0 Đ a ch đ ghi c u trúc (&i) n u k t thúc file Kích thư c c a c u trúc (sizeof(int)) S c u trúc s ghi (1) Con tr tr t i t p tin (fp) size_t fread(void *array, size_t size, size_t count, FILE *fp); size_t fwrite(void *array, size_t size, size_t count, FILE *fp); 30/03/2016 Files Page 13
- Ví dụ 2: ghi 1 danh sách nhân viên ra file #define MAX 30 printf(“Nh p vào s nhân viên: "); int main(){ scanf(“%d”,&n); typedef struct{ int manv; //M file đ ghi nhân viên vào file char hoten[28]; }nhanvien; fp=fopen("struct.dat","wb"); if(fp==NULL){ FILE *fp; printf(“không m đư c file!\n"); nhanvien nv[MAX]; char temp[10]; exit(0); int i,n; } 30/03/2016 Files Page 14
- Ví dụ 2 (tiếp) //Ghi nhân viên vào file for(i=0; i
- Ví dụ 2 (tiếp) (tiếp) //Đọc từ file và in nhân viên ra màn hình fp = fopen("struct.dat","rb"); while( fread(&nv[i], sizeof(nhanvien),1,fp) = =1) printf("%5d %s\n“,nv[i].manv, nv[i].hoten); } fclose(fp); } 30/03/2016 Files Page 16
- Kết luận Ý nghĩa c a vi c s d ng t p tin (file) M , đóng file Ghi, đ c file s nguyên, m ng, chu i 30/03/2016 Files Page 17
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Tin học cơ sở 1 - Phan Thị Hà (chủ biên)
193 p | 193 | 22
-
Bài giảng Tin học cơ sở: Bài 16 - Đào Kiến Quốc
16 p | 142 | 13
-
Bài giảng Tin học cơ sở: Bài 3 - Đào Kiến Quốc
16 p | 141 | 13
-
Bài giảng Tin học cơ sở 1: Phần 2
87 p | 51 | 8
-
Bài giảng Tin học cơ sở: Bài 1 - Thông tin và xử lý thông tin
19 p | 143 | 8
-
Bài giảng Tin học cơ sở 1: Phần 1
110 p | 39 | 7
-
Bài giảng Tin học cơ sở 3 bài 1: Tổng quan về cơ sở dữ liệu quan hệ
11 p | 25 | 5
-
Bài giảng Tin học cơ sở: Chương 4 - Các thành phần nhập liệu
39 p | 69 | 5
-
Bài giảng Tin học cơ sở 1 - Chương 0: Giới thiệu môn học
8 p | 151 | 5
-
Bài giảng Tin học cơ sở (Basics of Informatics) - Chương 1: Thông tin và biểu diễn thông tin
18 p | 40 | 5
-
Bài giảng Tin học cơ sở (Basics of Informatics) - Chương 5: Các vấn đề xã hội của công nghệ thông tin
13 p | 37 | 4
-
Bài giảng Tin học cơ sở 3 bài 3: Table and relation
43 p | 12 | 4
-
Bài giảng Tin học cơ sở 2: Chương 0 - ThS. Nguyễn Mạnh Sơn
7 p | 119 | 4
-
Bài giảng Tin học cơ sở: Chương 6 - An toàn thông tin, các hướng phát triển mới trong công nghệ thông tin
15 p | 93 | 4
-
Bài giảng Tin học cơ sở: Chương 4 - Hệ thống thông tin và ngôn ngữ lập trình
18 p | 65 | 4
-
Bài giảng Tin học cơ sở 2: Chương 2 - ThS. Nguyễn Mạnh Sơn
38 p | 72 | 3
-
Bài giảng Tin học cơ sở 2: Chương 0 - Nguyễn Ngọc Duy
4 p | 82 | 2
-
Bài giảng Tin học cơ sở - Chương 1: Giới thiệu chung
13 p | 57 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn