求助cannot convert file to const char的bug怎么解决

?*:.?. o(???)o .?.:*? 2020-05-13 08:40:11
windows上面安的VScode
然后出了这个bug
cannot convert 'FILE*' {aka '_iobuf*}to 'const char*'
百度了一下没有看到有出现这种状况的
求教一下是我环境下少了还是就是程序编的很有问题呀?

#include <stdio.h>

int mian(void)
{
FILE *fp;

char b[100];
int c;
char a[100];

if((fp=fopen("gifts.dat","r"))==NULL)
printf("ファイルをオープンできません。\n");
else{
while(fscanf(fp,"%s%s%d",a,b,&c)==3){
printf(fp, "%-10s %-10s %d\n",a,b,c);
fclose(fp);
}}
getchar ();
return 0;
}
...全文
3434 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
棉猴 2020-05-13
  • 打赏
  • 举报
回复
请参考《C++中printf()函数的用法10-1》 希望能够帮到你!
自信男孩 2020-05-13
  • 打赏
  • 举报
回复
#include <stdio.h>

//int mian(void)
int main(void)
{
FILE *fp;

char b[100];
int c;
char a[100];

if((fp=fopen("gifts.dat","r"))==NULL)
printf("ファイルをオープンできません。\n");
else{
while(fscanf(fp,"%s%s%d",a,b,&c)==3){
//printf(fp, "%-10s %-10s %d\n",a,b,c);
printf( "%-10s %-10s %d\n",a,b,c);
//fclose(fp);
}
fclose(fp);
}
getchar ();

return 0;
}

供参考~

三个错误,建议对比代码找出自己的问题。
chxchxkkk 2020-05-13
  • 打赏
  • 举报
回复
printf(fp, "%-10s %-10s %d\n",a,b,c);应该是fprintf吧
Simple-Soft 2020-05-13
  • 打赏
  • 举报
回复
printf使用错了,第一个参数fp是FILE*类型,第一个必须是char类型

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧