CHƯƠNG IX FILE

Đ a file ra đĩa:

ữ I. ở 1. M  file:

ầ ự

ộ ộ ộ ở đ ng m t

ể ổ ặ đó ho c kh i  ữ ệ ồ ạ đ  b  sung thêm d  li u.

ử ụ M c ụ đich c a ph n này là xây d ng m t file  ủ ể m i ớ đ  ghi thông tin lên  i  file đã t n t ể ở ộ Đ  m  m t file ta s  d ng hàm

fopen()

ủ Cú pháp c a hàm nh ư sau:

FILE *fpa, *fopen(); char *path_name; char *type fpa = fopen(path_name,type);

Ch c nứ ăng:

ỉ ợ ở ở ộ Là m  m t file

ể ở ộ ở

ỏ ể

ớ đư c ch  ra b i path_name, v i  ki u m  m t file là type, khi m  xong thì gán giá  tr  ị đó cho con tr  ki u FILE. Trong đó:

ờ ợ ế ẫ đ n file ở đư c m .

ở path_name: La đư ng d n  ể type: Là ki u m  file

ở “w”: M  file  ở “a”: M  file  ở “r”: M  file

ở đã m , ta dùng hàm

ớ ể đ  ghi m i. ể ổ đ  b  sung. đ  ể đ c.ọ 2. Ghi thông tin lên file đã m :ở ể Đ  ghi thông tin lên file  chu n ẩ

fprintf(); ủ Cú pháp c a hàm:

khi n[, danh sách đi u ề đ i sô]);

ỏ ể fprintf(Con tr  ki u FILE, dòng  ổ ể Ch c nứ ăng: Ghi vào file

3. Đóng file ệ Vi c này

ợ ờ ử ụ ệ đư c th c hi n nh  s  d ng hàm

ự fclose() ho c ặ fcloseall()

Cú pháp:

ỏ ể int fclose(Con tr  ki u FILE)

Ho cặ

int fcloseall()

ể Ví d :ụ Vi t chế

ộ ầ ử ủ ớ ự ương trinh đ  xây d ng m t file m i có    c a  ma

tên  là  Matran  và  ghi  lên  đó  các  ph n  t ở trân a c  4x4.

#include "stdio.h" main() { FILE *fpp, *fopen(); int a[4][4]; int i,j,m; fpp=fopen("matran","w"); for (i=0;i<4;++i) for (j=0;j<4;++j)  {   printf("a[%d,%d]= ",i,j);   scanf("%d",&m);   a[i][j]=m;  }

ừ file

for (i=0;i<4;++i) for (j=0;j<4;++j)  fprintf(fpp,"%d\n",a[i][j]);  fclose(fpp); return 0; } ọ II. Đ c vào t 1. M  fileở ử ụ

ầ ỉ

S  d ng hàm fopen() ố Cú pháp hoàn toàn gi ng ph n trên ch  khác là  phân type là “r”

2. Đ c thông tin t

m t file vào b  nh

ộ ở ộ ớ ừ ộ ọ ừ Đ  ể đ c thông tin t ớ đã m  vào b  nh  ta file

ọ dùng hàm chu n:ẩ

fscanf()

Cú pháp:

ỏ ể fscanf(Con tr  ki u FILE, dòng đi u ề

ổ ố danh sách đ i s ]);

ki n[, ệ 3. Đóng file  ầ ố Gi ng ph n trên.

Ví d :ụ

ở ụ Vi ế ạ t l i ch ương trình ví d  trên , sau đó đ c ọ

file và in ra màn hình.

#include "stdio.h" main() { FILE *fpp, *fopen(); int a[4][4]; int i,j,m; fpp=fopen("matran","w");

for (i=0;i<4;++i) for (j=0;j<4;++j)  {   printf("a[%d,%d]= ",i,j);   scanf("%d",&m);   a[i][j]=m;  } for (i=0;i<4;++i) for (j=0;j<4;++j)  fprintf(fpp,"%d\n",a[i][j]);  fclose(fpp);

fpp=fopen("matran","r"); for (i=0;i<4;++i)   {     for (j=0;j<4;++j)    {      fscanf(fpp,"%d",&m);      printf("%d  ",m);    }    printf("\n");   } getch(); return 0; }