C语言关于fopen在函数中的使用

voidload_all_depts(dept_t**all_depts,char*filename){FILE*fp;intid;dept_t*a;dept_t*b=*... void load_all_depts(dept_t **all_depts, char *filename)
{
FILE *fp;
int id;
dept_t *a;
dept_t *b=*all_depts;
fp = fopen(filename, "r"); //fopen中的参数正好是函数的参数,这时候该怎么办,这样写是错误的
if(fp == NULL)
{
perror("Cannot open filename.txt!");
exit(EXIT_FAILURE);
}
else
{
fscanf(fp,"%d",&id);
a=load_dept(id);
*all_depts=a;
while(!feof(fp))
{
fscanf(fp,"%d",&id);
a=load_dept(id);
*all_depts=a;
}

}
fclose(fp);
}

int main()
{
char a[20]="company.txt";
dept_t *all_depts=NULL;
load_all_depts( &all_depts, a);
print_dept(all_depts);
free_dept(all_depts);
}
其他几个函数的代码我都没放上来,就是说,当fopen中那个file的名字正好是函数传进来的参数时,格式该怎么写,上面我写的是不对的,最后fp==NULL了。
展开
 我来答
wchyumo2011
2015-11-19 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2825万
展开全部
那样写没有错
就是这么用的
检查一下文件是否存在,并放在了正确的位置上
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式