c语言一行程序麻烦逐行解释一下
intload(){FILE*fp;inti;if((fp=fopen("results.txt","rb"))==NULL){printf("文件打开错误");retu...
int load()
{
FILE *fp;
int i;
if((fp=fopen("results.txt","rb"))==NULL)
{
printf("文件打开错误");
return 0;
}
for(i=0;!feof(fp);i++)
fread(&kec[i],sizeof(struct kecheng),1,fp);
fclose(fp);
return(i-1);
} 展开
{
FILE *fp;
int i;
if((fp=fopen("results.txt","rb"))==NULL)
{
printf("文件打开错误");
return 0;
}
for(i=0;!feof(fp);i++)
fread(&kec[i],sizeof(struct kecheng),1,fp);
fclose(fp);
return(i-1);
} 展开
7个回答
展开全部
int load()
{
/*声明一个文件句柄*/
FILE *fp;
int i;
/*以二进制只读形式打开文件results.txt,并把函数困段耐返回的文件句柄赋值给fp,如果
*fp为NULL,则文件打开失败,打印错误信息,并退出程序。
*/
if((fp=fopen("results.txt","rb"))==NULL)
{
printf("文件打开错误");
return 0;
}
/*否则,循环汪春读文件。文件中存放的是kecheng结构体的数据,每次循环读取1个kecheng结 *构体数据,并放在数据kec中,直到到达文件结尾。
*/
for(i=0;!feof(fp);i++)
fread(&kec[i],sizeof(struct kecheng),1,fp);
/*关闭文件句柄*/
fclose(fp);
/*返回文件中燃逗课程数据的个数*/
return(i-1);
}
{
/*声明一个文件句柄*/
FILE *fp;
int i;
/*以二进制只读形式打开文件results.txt,并把函数困段耐返回的文件句柄赋值给fp,如果
*fp为NULL,则文件打开失败,打印错误信息,并退出程序。
*/
if((fp=fopen("results.txt","rb"))==NULL)
{
printf("文件打开错误");
return 0;
}
/*否则,循环汪春读文件。文件中存放的是kecheng结构体的数据,每次循环读取1个kecheng结 *构体数据,并放在数据kec中,直到到达文件结尾。
*/
for(i=0;!feof(fp);i++)
fread(&kec[i],sizeof(struct kecheng),1,fp);
/*关闭文件句柄*/
fclose(fp);
/*返回文件中燃逗课程数据的个数*/
return(i-1);
}
展开全部
int load() \\ 返回值为int,名为load的函数。
{
FILE *fp; \\定义FILE类型的变量 fp( FILE类型是用于文件操作的)。
int i;\\定义int变量 i, int是整形。
if((fp=fopen("results.txt","rb"))==NULL)\\fp打开(fopen)当前EXE路径下,名为"results.txt"的文件,打开方式为2进制只读,如果没有这个文件,会返回空则进入这个嫌滚if语句。
{
printf("文件打开档芹错误");\\输出文件打开错误
return 0;\\退出函数,返回值为0
}
for(i=0;!feof(fp);i++) \\下面for循环里有一个文件读入的操作,如果feof(fp)返回是否读到文件末尾,如果没到就一直读,for循环不用我讲吧。
fread(&kec[i],sizeof(struct kecheng),1,fp);\\读sizeof(struct kecheng)返回结构体kecheng在内存中的大小,由文件中 读入sizeof(struct kecheng)大小的2进制文件芹蠢余到kec[i]里;
fclose(fp);\\关闭文件流
return(i-1);\\返回i值,退出函数。。
}
{
FILE *fp; \\定义FILE类型的变量 fp( FILE类型是用于文件操作的)。
int i;\\定义int变量 i, int是整形。
if((fp=fopen("results.txt","rb"))==NULL)\\fp打开(fopen)当前EXE路径下,名为"results.txt"的文件,打开方式为2进制只读,如果没有这个文件,会返回空则进入这个嫌滚if语句。
{
printf("文件打开档芹错误");\\输出文件打开错误
return 0;\\退出函数,返回值为0
}
for(i=0;!feof(fp);i++) \\下面for循环里有一个文件读入的操作,如果feof(fp)返回是否读到文件末尾,如果没到就一直读,for循环不用我讲吧。
fread(&kec[i],sizeof(struct kecheng),1,fp);\\读sizeof(struct kecheng)返回结构体kecheng在内存中的大小,由文件中 读入sizeof(struct kecheng)大小的2进制文件芹蠢余到kec[i]里;
fclose(fp);\\关闭文件流
return(i-1);\\返回i值,退出函数。。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fp指向一个文件结构。
如果打开fp指向的文件不存在,
输出“枯茄文件打开错误,结束程序,返回0;
然后for循环,直到fp遇到结束清败孙符EOF为止,
{读取文件:第一个形参是数据接受地址(这里是答链接收到kec数组里),第二个形参是文件大小,第三个形参是元素个数,第四个形参是文件指针fp。}
关闭数据流,并释放fp。
返回i-1 //没想通为什么返回i-1,而不是i ,如果前面for(...;...;++i),然后后面返回i-1才对。
如果打开fp指向的文件不存在,
输出“枯茄文件打开错误,结束程序,返回0;
然后for循环,直到fp遇到结束清败孙符EOF为止,
{读取文件:第一个形参是数据接受地址(这里是答链接收到kec数组里),第二个形参是文件大小,第三个形参是元素个数,第四个形参是文件指针fp。}
关闭数据流,并释放fp。
返回i-1 //没想通为什么返回i-1,而不是i ,如果前面for(...;...;++i),然后后面返回i-1才对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int load()
{
FILE *fp; //声明一个文件指针
int i;
if((fp=fopen("results.txt","rb"))==NULL) //以读方式打开一个二进制文数仔盯件
{
printf("文件打开错误"); //如果打开失败则报错 退出程序
return 0;
}
for(i=0;!feof(fp);i++) //以戚橡结构体薯和形式循环读出文件内容
fread(&kec[i],sizeof(struct kecheng),1,fp); //按照sizeof(struct kecheng)大小单位读取文件
fclose(fp); //关闭文件指针
return(i-1); //返回值
}
{
FILE *fp; //声明一个文件指针
int i;
if((fp=fopen("results.txt","rb"))==NULL) //以读方式打开一个二进制文数仔盯件
{
printf("文件打开错误"); //如果打开失败则报错 退出程序
return 0;
}
for(i=0;!feof(fp);i++) //以戚橡结构体薯和形式循环读出文件内容
fread(&kec[i],sizeof(struct kecheng),1,fp); //按照sizeof(struct kecheng)大小单位读取文件
fclose(fp); //关闭文件指针
return(i-1); //返回值
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int load()
{
FILE *fp;// 定义一个指针,指向文件内容
int i;
if((fp=fopen("results.txt","rb"))==NULL)// 如果fopen返回的是空指针,说明打开文件函数出错了
{
printf("文件打开错误");
return 0;
}
for(i=0;!feof(fp);i++) // 看指针每次加1,来读缺孝取文件内容,直到feof(fp)函数判断已经到了文件伏余稿末尾
fread(&kec[i],sizeof(struct kecheng),1,fp);// 把当前指针指向的文件毁搜内容,读取到KEC这个数组中
fclose(fp); //关闭文件
return(i-1); //返回的是文件长度
}
{
FILE *fp;// 定义一个指针,指向文件内容
int i;
if((fp=fopen("results.txt","rb"))==NULL)// 如果fopen返回的是空指针,说明打开文件函数出错了
{
printf("文件打开错误");
return 0;
}
for(i=0;!feof(fp);i++) // 看指针每次加1,来读缺孝取文件内容,直到feof(fp)函数判断已经到了文件伏余稿末尾
fread(&kec[i],sizeof(struct kecheng),1,fp);// 把当前指针指向的文件毁搜内容,读取到KEC这个数组中
fclose(fp); //关闭文件
return(i-1); //返回的是文件长度
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询