fopen与fopen_s的比较

fopen和fopen_s都是用于打开文件的C语言函数,fopen可能存在安全风险,而fopen_s增加了溢出检测,相对更安全。在VS编程中,推荐使用fopen_s以避免警告。文件打开模式包括读('r')、写('w')、追加('a')、读写('r+'、'w+'、'a+')等。
摘要由CSDN通过智能技术生成

fopen
功 能: 打开一个流
用 法: FILE *fopen(char *filename, char *type);
在定义FILE * fp 之后, fp = fopen(filename,”w”)。打开文件成功的话返回文件指针(赋值给fp),打开失败则返回NULL值;

fopen_s
errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );
定义一个变量errno_t err,然后err = fopen_s(&fp,filename,”w”)。
打开文件成功返回0,失败返回错误结果。

在vs编程中,经常会有这样的警告:warning C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.

因为 fopen_s比fopen多了溢出检测,所以更安全一些

文件打开方式:
“r”打开以进行读取。如果该文件不存在,或无法找到,fopen_s调用失败。
“w”打开一个空文件以进行写入。如果该文件存在,其内容将被销毁。
“a”打开以进行写入 (追加) 而不将新数据写入文件之前删除的 EOF 标记文

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值