免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2561 | 回复: 10
打印 上一主题 下一主题

c初学的小问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-30 20:35 |只看该作者 |倒序浏览
程序如下:


#include<stdio.h>

int main(int argc,char*argv[])

{
int account;
char name[30];
float balance;
FILE* cfPtr;

if((cfPtr=fopen("clients.dat","w"))==NULL)
printf("File open error\n");
else
{
printf("Enter a account,name and balance.\n");
printf("Enter EOF marker to end input\n");
printf("?");

scanf("%d%s%f",&account,name,&balance);

while(!feof(stdin))
{
fprintf(cfPtr,"%d\t%s\t%f.2\n",account,name,balance);
printf("?");
scanf("%d%s%f",&account,name,&balance);
}
fclose(cfPtr);
}

return 0;
}


执行的时候可以接收键盘的输入,也创建了clients。dat文件,但是clients。dat文件时空的,数据没有写进去。

哪位大虾指导下,感激不尽。

[ 本帖最后由 leran0222 于 2007-11-30 20:49 编辑 ]

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2007-11-30 20:49 |只看该作者
没看出有啥不正常啊

论坛徽章:
0
3 [报告]
发表于 2007-11-30 21:41 |只看该作者
估计是while循环没有执行,最好检查下scanf的返回值,还有scanf输入时,%s遇到空格或回车即停止,所以,后面的%f没能得到想要的值。

论坛徽章:
0
4 [报告]
发表于 2007-12-01 13:31 |只看该作者
scanf("%d%s%f",&account,name,&balance);
中的"%d","%d" "%f"之间空一格,输入数据时也空一格

论坛徽章:
0
5 [报告]
发表于 2007-12-01 13:59 |只看该作者
程序 没有问题啊,在我的机器上执行正常 ~~

  . dat 里也有数据~~

论坛徽章:
0
6 [报告]
发表于 2007-12-02 10:48 |只看该作者
没有剩余空间了
一路征程一路笑 该用户已被删除
7 [报告]
发表于 2007-12-02 19:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2007-12-05 21:07 |只看该作者

回复 #5 achlice 的帖子

你用的是什么文件结束符??
应该是文件结束符的问题.

论坛徽章:
0
9 [报告]
发表于 2007-12-05 22:23 |只看该作者

论坛徽章:
0
10 [报告]
发表于 2007-12-06 15:45 |只看该作者
根据描述,99%是因为没调用刷新缓存fflush
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP