12.1 C
,
1——
2——
3
ASCII ASCII
12.2
FILE
FILE
FILEstdio.h
typedef struct
{ short level; //
unsigned flags; //
char fd; //
short bsize; //
unsigned char *curp; //
unsigned char *buff; //
unsigned istemp; //
short token; //
}FILE;
FILE *fp;
,
12.3
C,stdio.h
:-->/-->
------ stdin
------ stdout
----- stderr
fopen
FILE *fopen(char *name,char *mode)
NULL
FILE *fp;
fp=fopen(“aa.c”,“w”);
if(fp==NULL)
{ printf(“File open error!\n”);
exit(0);
}
FILE *fp;
fp= fopen (“c:\zhou\test.dat”,”r”);
FILE *fp;
char *filename=“c:\zhou\test.dat”
fp= fopen(filename,”r”);“r+/rb+” ()
“a/ab” ()
“w/wb” ()
“r/rb” ()
“w+/wb+” ()
“a+/ab+” ()
/
/
//
//
//
/
fclose
:
int fclose(FILE *fp)
fp
0;,0
12.4
I/O:fputc fgetc
fputc
fputc(ch,fp)
chfp
ch; EOF
fgetc
fgetc(fp)
fp;
EOF
I/O:fread fwrite
fread(buffer,size,count,fp)
fwrite(buffer,size,count,fp)
/
/ 0
buffer,/
size,/
count,/
fp,/
fread fwrite /
struct student
{ int num;
char name[20];
char sex;
int age;
float score[3];
}stud[10];
for(i=0;i<10;i++)
fread(&stud[i],sizeof(struct student),1,fp);
I/O:fprintf fscanf
fprintf()
fscanf()
I/O
,I/O ;,EOF
fprintf(fp,“%d,%6.2f”,i,t); //it%d,%6.2f
fp
fscanf(fp,“%d,%f”,&i,&t); //3,4.5,3i,
4.5t
12.5
-----
~
~
rewind
void rewind(FILE *fp)
fseek
fseek(,,)
0 0
,)
>0
<0
SEEK_SET 0
SEEK_CUR 1
SEEK_END 2
fseek(fp,100L,0); //100
fseek(fp,50L,1); //50
fseek(fp,-10L,2); //10