void save(int m) /*保存文件函数*/
{
int i;
FILE*fp;
if ((fp=fopen("employee_list","wb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
for (i=0;i<m;i++) /*将内存中员工的信息输出到磁盘文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
int load() /*导入函数*/
{
FILE*fp;
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)
{
printf ("cannot open file\n");
exit(0);
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);
i++;
}
while(feof(fp)==0);
}
fclose(fp);
return(i-1);
}
void save(int m) /*保存文件函数*/
{
int i;
FILE*fp;//文件指针
if ((fp=fopen("employee_list","wb"))==NULL)//二进制打开文件失败
{
printf ("cannot open file\n");//输出错误提示
exit(0);//退出
}
for (i=0;i<m;i++) /*将内存中员工的信息输出到磁盘文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)//从em[]中读取大小为sizeof(struct employee)的一条记录到fp指向的文件
printf("file write error\n");//返回值不为1(上面的函数的返回值为读取的记录数),输出错误信息
fclose(fp);//关闭文件
}
int load() /*导入函数*/
{
FILE*fp;//文件指针
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)//以只读方式打开二进制文件
{
printf ("cannot open file\n");//打开失败,输错错误信息
exit(0);//退出
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);//从fp指向的文件中读取大小为sizeof(struct employee)的一条记录到em[]中
i++;//循环读取
}
while(feof(fp)==0);//判断是否到文件尾(即结束)
}
fclose(fp);//读取完,关闭文件
return(i-1);//返回读取的记录数
}
{
int i;
FILE*fp;//文件指针
if ((fp=fopen("employee_list","wb"))==NULL)//二进制打开文件失败
{
printf ("cannot open file\n");//输出错误提示
exit(0);//退出
}
for (i=0;i<m;i++) /*将内存中员工的信息输出到磁盘文件中去*/
if (fwrite(&em[i],sizeof(struct employee),1,fp)!=1)//从em[]中读取大小为sizeof(struct employee)的一条记录到fp指向的文件
printf("file write error\n");//返回值不为1(上面的函数的返回值为读取的记录数),输出错误信息
fclose(fp);//关闭文件
}
int load() /*导入函数*/
{
FILE*fp;//文件指针
int i=0;
if((fp=fopen("employee_list","rb"))==NULL)//以只读方式打开二进制文件
{
printf ("cannot open file\n");//打开失败,输错错误信息
exit(0);//退出
}
else
{
do
{
fread(&em[i],sizeof(struct employee),1,fp);//从fp指向的文件中读取大小为sizeof(struct employee)的一条记录到em[]中
i++;//循环读取
}
while(feof(fp)==0);//判断是否到文件尾(即结束)
}
fclose(fp);//读取完,关闭文件
return(i-1);//返回读取的记录数
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-05-11
代码中不是已经有注释了嘛,都是很常用的函数