| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1317 人关注过本帖
标题:讨论fwrite 和fprintf 的区别
只看楼主 加入收藏
bhy521
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-8
收藏
 问题点数:0 回复次数:5 
讨论fwrite 和fprintf 的区别

今编一程序如下,为什么fprintf函数有结果输出,而fwrite函数没结果输出,
这两个函数有什么区别?还望指点迷津,谢谢!

#include<stdio.h>
#include<stdlib.h>
void main()
{ FILE *fp;
int i,u[10];
if((fp=fopen("abc2","w"))==NULL)
{ printf("this file can not open \n");
exit(0);
}
for(i=0;i<10;i++)
u[i]=i*i+3*i+4;
for(i=0;i<10;i++)
{ printf("%d\n",u[i]);


/* fwrite(&u[i],sizeof(int),1,fp);*/


fprintf(fp,"%d",u[i]);



}
fclose(fp);
}

搜索更多相关主题的帖子: fprintf fwrite 函数 include void 
2007-07-20 21:23
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
fwrite可以写,整数写进去就是二进制的。

天行健,君子以自强不息!!QQ:68660681
2007-07-20 21:37
岳C
Rank: 1
等 级:禁止发言
帖 子:354
专家分:0
注 册:2007-7-16
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

坚持到底
2007-07-20 21:53
yixian
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-7-9
收藏
得分:0 
以下是引用bhy521在2007-7-20 21:23:26的发言:

这样写就行了

#include<stdio.h>
#include<stdlib.h>
void main()
{ FILE *fp;
int i,u[10];
if((fp=fopen("abc2","wb"))==NULL)//这里用"wb"就是用2进制
{ printf("this file can not open \n");
exit(0);
}
for(i=0;i<10;i++)
u[i]=i*i+3*i+4;
for(i=0;i<10;i++)
{ printf("%d\n",u[i]);


fwrite(&u[i],sizeof(int),1,fp);


// fprintf(fp,"%d",u[i]);



}
fclose(fp);
}

这样就KO 了吧

2007-07-20 22:21
wangwei2008
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-20
收藏
得分:0 
fwrite 函数一般用于二进制文件的输入。因为它是按数据块的长度来处理输入的;
fprintf函数用于对磁盘文件的写操作,使用方便,容易理解。
2007-07-21 12:51
bhy521
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-7-8
收藏
得分:0 

Yixian 你好 用你给介绍的程序试了下输出的结果是 ,:J\p

2007-07-23 18:16
快速回复:讨论fwrite 和fprintf 的区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040209 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved