谁帮忙解决一下啊?谢谢

[复制链接]
查看11 | 回复4 | 2011-5-17 04:39:45 | 显示全部楼层 |阅读模式
#defineBUFLEN80/*缓冲区最大字符数*/
voidreadfile()/*建立信息*/
{
charbuf[BUFLEN],*p=\"student.dat\";
FILE*fp;
inti=0;
if((fp=fopen(\"student.dat\",\"r\"))==NULL)
{printf(\"Openfile%serror!Strikeanykeytoexit!\",p);
system(\"pause\");
exit(0);
}

while(fscanf(fp,\"%s%s%d%s%s%s%s%s\",stu.code,stu.name,
i=i;
}
fclose(fp);
n=i;
printf(\"录入完毕!\\n\");
}
这个c语言片段中:charbuf[BUFLEN],*p=\"student.dat\";有什么作用啊?可不可以把这个片段改一下,把它弄简单点
回复

使用道具 举报

千问 | 2011-5-17 04:39:45 | 显示全部楼层
不能删啊,删了就会有很多错误,运行不了了。为什么还要个*p呢,不是有*fp么?而且*p不能用*fp代替啊
回复

使用道具 举报

千问 | 2011-5-17 04:39:45 | 显示全部楼层
charbuf[BUFLEN],*p=\"student.dat\";
更改成char*p=\"student.dat\";
*fp和*p是两个不同的指针变量,c里面是没有字符串的,只能用char指针代替。。。
回复

使用道具 举报

千问 | 2011-5-17 04:39:45 | 显示全部楼层
嗯,谢谢!不过可以帮忙把那个while改一下么,那个while括号里的东西太难理解了
回复

使用道具 举报

千问 | 2011-5-17 04:39:45 | 显示全部楼层
while(fscanf(fp,\"%s%s%d%s%s%s%s%s\",stu.code,stu.name,
while(r==8)
{
i;...
r=fscanf(fp,\"%s%s%d%s%s%s%s%s\",stu.code,stu.name,
不如原来的程序简洁~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行