编辑: kr9梯 | 2012-12-15 |
读到文件尾或出错为EOF(-1) feof函数调用方式:feof(fp)功能:对于二进制文件读取时判断文件是否结束.返值:结束-1;
反之0. 文件指针变量 文件指针变量 例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个 # 为止. #include #include void main(){ FILE *fp;
char ch , filename[10];
scanf( %s , filename);
if((fp=fopen(filename, w ))==NULL) { printf( cannot open file\n exit(0)终止程序*/ ch=getchar();
/*接收执行scanf时最后输入的回车符*/ ch=getchar();
/*第一个输入的字符被赋给变量ch*/ while(ch!fputc(ch,fp);
/*字符被写入filename表示的文件中*putchar(ch);
/*字符被输出到显示器*ch=getchar(putchar(10)向屏幕输出一个换行符*/ fclose(fp)关闭文件*/ 例10.2 将一个磁盘文件中的信息复制到另一个磁盘文件中. #include #include void main(){ FILE *in, *out;
char ch,infile[10],outfile[10];
printf( Enter the infile name:\n );
scanf( %s ,infile);
/*输入文件的文件名*/ printf( Enter the outfile name:\n );
scanf( %s ,outfile);
/*输出文件的文件名*/ if ((in = fopen(infile, r ))== NULL) { printf( Cannot open infile.\n );
exit(0);
} if ((out = fopen(outfile, w ))== NULL) { printf( Cannot open outfile.\n );
exit(0);
} while (!feof(in)fputc(fgetc(in), out);
fclose(in);
fclose(out);
}
2、数据块输入输出函数:fread与fwrite一般调用形式:fread(buffer,size,count,fp );
fwrite(buffer,size,count,fp );
参数说明:buffer: 要读入的数据块的存放首地址或要输出的数据块的起始地址.size: 每个要读/写的数据块的大小(字节数)count: 要读/写的数据块的个数fp: 要读/写的文件指针返值:成功,返count的值;
出错或文件尾,0值.fread与fwrite 一般用于二进制文件的输入/输出 #include #define SIZE 4struct student_type{ char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
void main(){ int i;
for(i=0;
i........