c语言错误:'FILE' : illegal use of this type as an expression这是神马情况?

#include"stdio.h"#include"string.h"#defineK_MAX_PATH255intmain(intargc,char*argv[]){c... #include "stdio.h"
#include "string.h"
#define K_MAX_PATH 255
int main(int argc,char * argv[])
{
char pszTempPathName[K_MAX_PATH],*p;
strcpy(pszTempPathName,argv[0]);
p=strrchr(pszTempPathName,'\\')+1;
strcpy(p,"LastResu.bin");
FILE * fp=fopen(pszTempPathName,"wb");
//FILE * fp;
//fp=fopen(pszTempPathName,"wb");//这样写也不行
//if(fp==0){printf("Can not open file:LastResu.bin!");return 1;}
//fclose(fp);
}
编译结果:
D:\KCS\source\rst.c(15) : error C2275: 'FILE' : illegal use of this type as an expression
c:\program files\microsoft visual studio\vc98\include\stdio.h(156) : see declaration of 'FILE'
D:\KCS\source\rst.c(15) : error C2065: 'fp' : undeclared identifier
点击错误行,弹出stdio.h中的这些行,
#ifndef _FILE_DEFINED
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
#define _FILE_DEFINED
#endif
诸位大侠,到底哪里错了?
展开
 我来答
风若远去何人留
推荐于2018-02-27 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部

代码没问题

怀疑是纯C环境 比较老的版本

所以要求变量定义只能在开头


你改成这样试试

#include "stdio.h"
#include "string.h"
#define K_MAX_PATH 255
int main(int argc,char * argv[])
{
char pszTempPathName[K_MAX_PATH],*p;
FILE * fp;
strcpy(pszTempPathName,argv[0]);
p=strrchr(pszTempPathName,'\\')+1;
strcpy(p,"LastResu.bin");
fp=fopen(pszTempPathName,"wb");
//FILE * fp;
//fp=fopen(pszTempPathName,"wb");//这样写也不行
//if(fp==0){printf("Can not open file:LastResu.bin!");return 1;}
//fclose(fp);
}
建氏文生
2013-11-18 · 永远在学习的道路上不断前进
建氏文生
采纳数:499 获赞数:1345

向TA提问 私信TA
展开全部
http://en.wikipedia.org/w/index.php?title=C99&oldid=435310180
按 c99 没有错。但 MSVC 还不认 c99 。

FILE * fp=fopen(pszTempPathName,"wb");

分开成 FILE *fp 在开头,和
fp = fopen(pszTempPathName, "wb");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
古老的情歌
2019-01-17 · TA获得超过2132个赞
知道小有建树答主
回答量:1064
采纳率:0%
帮助的人:197万
展开全部
变量需定义在最前。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式