社区
C语言
帖子详情
讨论一下printf和fprintf两个函数
avalonBBS
2004-12-30 12:16:52
int printf(const char *format,...)
int fprintf(FILE *fp, char *format,…)
记得以前看段别人写的程序,印象中的好像是socket的。
中间有许多输出的地方明明可以用printf的,可是那儿全都是用了fprintf函数。
请问这是基于什么原因啊?这中间有什么猫泥吗? :-)
...全文
368
19
打赏
收藏
讨论一下printf和fprintf两个函数
int printf(const char *format,...) int fprintf(FILE *fp, char *format,…) 记得以前看段别人写的程序,印象中的好像是socket的。 中间有许多输出的地方明明可以用printf的,可是那儿全都是用了fprintf函数。 请问这是基于什么原因啊?这中间有什么猫泥吗? :-)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goodluckyxl
2005-01-13
打赏
举报
回复
....
pacman2000
2004-12-30
打赏
举报
回复
printf()和fprintf(stdout,...)没什么区别。
goodluckyxl
2004-12-30
打赏
举报
回复
jk88811(文哥)
不要灌水
fprintf( FILE *fp, 格式信息, 变量 );
写入文件的方法
char *str = "Yes";
int i = 1;
float f = 1.2;
fprintf( fp, "%s%c", str, '\n' ); //格式写入char*
fprintf( fp, "%d\n", i ); //格式写入int
fprintf( fp, "%f\n", f ); //格式写入 float
文件中信息:
Yes
1
1.20000
就这么用
printf这是打印到控制台格式化字符
printf("%s", str); //打印出str的内容 使用差不多
avalonBBS
2004-12-30
打赏
举报
回复
就是一般的打印屏幕,里面没有打文件的,如
fprintf(stdout,"asdfjk");
yegaofei
2004-12-30
打赏
举报
回复
可能是把信息保存在文件中,不至于在意外情况下信息丢失吧
jk88811
2004-12-30
打赏
举报
回复
唉,沙发被抢了呀
jk88811
2004-12-30
打赏
举报
回复
帮顶,先坐沙发先
YFY
2004-12-30
打赏
举报
回复
fprintf可以往文件输出格式化信息。
C语言中格式化信息比较麻烦。
宁静雪
2004-12-30
打赏
举报
回复
声明:我骂的是avalonBBS ,与其他兄弟无关.
goodluckyxl
2004-12-30
打赏
举报
回复
揭贴 还特地赶来骂一句
我还以为有人补充回答
真是难为楼上的了
宁静雪
2004-12-30
打赏
举报
回复
傻 逼,我还以为你有多大能耐,原来是狗屎一堆.
mefit
2004-12-30
打赏
举报
回复
fprintf(stderr, _assertstring, expr, filename, lineno);
这个是对出错的处理,stderr表示输出到显示器上,不支持重定向,只能在显示器上显示
stdout也表示输出到显示器上,但是可以重定向
avalonBBS
2004-12-30
打赏
举报
回复
当然当然,
我确切的是想清楚为何能用printf输出的地方,那人的程序中却全部用了fprintf来写。
确切的说是它完全用fprintf来替代了printf,
PS,我知道printf功能上是fprintf的一子集。
只是想弄明白这样做是基于什么原因上的,不会是摆POSS吧 ,呵呵,谢谢大家
vonil
2004-12-30
打赏
举报
回复
fprintf()可以输出到文件也可以到屏幕。而printf()只能输出到屏幕,它是一个标准输出函数
fprintf()的功能强于frintf()
我的看法,更具体的,请教一下高人吧。。。。
avalonBBS
2004-12-30
打赏
举报
回复
终于找到一段了,是vc里面的如下:(部分代码)
//////////////////////////////////////////////////////////////////////////////////////////
static char _assertstring[] = "Assertion failed: %s, file %s, line %d\n";
void __cdecl _assert (void *expr,void *filename,unsigned lineno )
{
if ( (__error_mode == _OUT_TO_STDERR) ||
((__error_mode == _OUT_TO_DEFAULT) && (__app_type == _CONSOLE_APP)) )
{
if ( !anybuf(stderr) )
(void) setvbuf(stderr, NULL, _IONBF, 0);
fprintf(stderr, _assertstring, expr, filename, lineno);
fflush(stderr);
}
.....................
这里面的fprintf(stderr, _assertstring, expr, filename, lineno);
正好就是我想说的那种情况,当然它在这可能是因为stderr.
winstonch
2004-12-30
打赏
举报
回复
kobefly(科比---不惧挑战!) 和Flood1984(峰子)(请不要做浮躁的人)说的对
muroachanf
2004-12-30
打赏
举报
回复
fprintf可以输出到文件,printf则指定只能输出到屏幕上去。
Flood1984
2004-12-30
打赏
举报
回复
printf()只是fprintf()的一种特例(当fprintf()的第一个参数为stdout时)。
kobefly
2004-12-30
打赏
举报
回复
没什么本质的区别
只是fprintf()的范围更广一点,可以输出倒指定文件
而printf()只能输出到标准控制台
至于使用方法也是相同的
printf
与f
printf
函数
的区别
printf
是标准输出流的输出
函数
,用来向屏幕这样的标准输出设备输出,而f
printf
则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上
printf
是有缓冲的输出,f
printf
没有缓冲 f
printf
()传送输出到一个流中的
函数
原形:int f
printf
(FILE *stream,const char *format[,argument,...])功能:...
浅谈
printf
、f
printf
、s
printf
的使用和区别
浅谈
printf
,f
printf
,s
printf
三个
函数
的使用和区别
printf
与f
printf
函数
的区别?
printf
与f
printf
函数
的区别?
printf
是标准输出流的输出
函数
,用来向屏幕这样的标准输出设备输出,而f
printf
则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上
printf
是有缓冲的输出,f
printf
没有缓冲 f
printf
()传送输出到一个流中的
函数
原形:int f
printf
(FILE *stream,const c
printf
与f
printf
printf
与f
printf
函数
的区别?
printf
是标准输出流的输出
函数
,用来向屏幕这样的标准输出设备输出,而f
printf
则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上
printf
是有缓冲的输出,f
printf
没有缓冲 f
printf
()传送输出到一个流中的
函数
原形:int f
printf
(FILE *stream,const c
printf
,s
printf
,f
printf
的区别
在写代码过程中总会遇到
printf
和s
printf
,既然这
两个
都遇到了,那么不妨再加一个f
printf
吧.他们三个都是将格式化字符串输出,区别就是他们输出的目标不一样.(1)
printf
,是把格式化字符串输出到标准输出(一般是屏幕).
printf
()是C语言标准库
函数
,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。
printf
()申明于头文件stdio.h。
函数
原...
C语言
69,371
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章