Mô tả:
CHÆÅNG IX
FILE
I.
1.
Âæîa file ra âéa:
Måí file:
Muûc âich cuía pháön naìy laì xáy dæûng
mäüt file måïi âãø ghi thäng tin lãn âoï hoàûc
khåíi âäüng mäüt file âaî täön taûi âãø bäø
sung thãm dæî liãûu.
Âãø måí mäüt file ta sæí duûng haìm
fopen()
Cuï phaïp cuía haìm nhæ sau:
FILE *fpa, *fopen();
char *path_name;
char *type
fpa = fopen(path_name,type);
Chæïc nàng:
Laì måí mäüt file âæåüc chè ra båíi
path_name, våïi kiãøu måí mäüt file laì type, khi
måí xong thç gaïn giaï trë âoï cho con troí kiãøu
FILE.
Trong âoï:
path_name: La âæåìng dáùn âãún file
âæåüc måí.
“w”: Måí file âãø ghi måïi.
“a”: Måí file âãø bäø sung.
“r”: Måí file âãø âoüc.
2. Ghi thäng tin lãn file âaî måí:
Âãø ghi thäng tin lãn file âaî måí, ta duìng
haìm chuáøn
fprintf();
Cuï phaïp cuía haìm:
fprintf(Con troí kiãøu FILE, doìng âiãöu
khiãøn[, danh saïch
âäøi sä]);
Chæïc nàng: Ghi vaìo file
3. Âoïng file
Viãûc naìy âæåüc thæûc hiãûn nhåì sæí
duûng haìm
fclose() hoàûc fcloseall()
Cuï phaïp:
int fclose(Con troí kiãøu FILE)
Hoàûc
int fcloseall()
Vê duû:
Viãút chæång trinh âãø xáy dæûng mäüt file
måïi coï tãn laì Matran vaì ghi lãn âoï caïc
pháön tæí cuía ma 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;
}
for (i=0;i<4;++i)
for (j=0;j<4;++j)
fprintf(fpp,"%d\n",a[i][j]);
fclose(fpp);
return 0;
}
II. Âoüc vaìo tæì file
1. Måí file
Sæí duûng haìm fopen()
Cuï phaïp hoaìn toaìn giäúng pháön trãn chè
khaïc laì phán type laì “r”
2. Âoüc thäng tin tæì mäüt file vaìo bäü nhåï
Âãø âoüc thäng tin tæì file âaî måí vaìo bäü
nhåï ta duìng haìm chuáøn:
fscanf()
Cuï phaïp:
fscanf(Con troí kiãøu FILE, doìng âiãöu
kiãûn[,
danh saïch âäøi säú]);
3. Âoïng file
Giäúng pháön trãn.
Vê duû:
Viãút laûi chæång trçnh åí vê duû trãn , sau
âoï âoüc file vaì in ra maì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;
}
- Xem thêm -