注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

C++小知识50——使用fprintf写文件的注意事项  

2014-02-28 09:23:01|  分类: C++(VC)编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
C++小知识50——使用fprintf写文件的注意事项
在文件操作处理中,C++库自带的太麻烦,MFC的应用不灵活,只有C库里的FILE系列,用起来简单方便。这里只说一下写的方式里的fprintf:看下面的例子:
非常简单
FILE *f;
fopen_s(&f,"d:\\aaaa.txt", "wb");//fopen
char *buf = "123456";
fprintf(f,"%s",buf);
fclose(f);
但是在VS2013使用fopen会报一个错误(在VS2005至VS2010上会是警告):消息:“This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”

这个的解决方法有以下几种:
1、使用上面例程的方法,改用fopen_s
2、改变编译选项:根据warning提示的地三句话:use _CRT_SECURE_NO_DEPRECATE:项目-属性-配置属性-C/C++-命令行-其它选项,加入【/D "_CRT_SECURE_NO_DEPRECATE" 】
3、降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低警告级别:一般来说,是不推荐这样做的,因为降低警告的级别,意味着软件风险的加大,意外和不可控的因素增加,最终可能会导致你出了错,却始终不好定位。
自一个很简单的程序,会引出很多东西,在前面的“使用_stscanf和_sntprintf进行GUID和字符串互相转换  ”,也提到过,_s后缀的函数,是微软进行了安全封装的函数,所以一定要好好的理解其中的深意。其中的安全性时刻要挂在心头,因为:这就是程序莫名崩溃的缘由之一。
  评论这张
 
阅读(2151)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017