vs中,fopen_s函数怎么用,能不能举个例子?

vs中,fopen_s函数怎么用,能不能举个例子?,第1张

使用方法:

首先看fopen的代码:

FILE* fp = null

fp = 差漏fopen(filename,"w+")

if(fp!=null)

{

// 打开文件成功

}

再来看fopen_s的用法

FILE* fp = 培庆悄null

errno_t err 配渣= 0

err = fopen_s(&fp,filename,"w+")

if(err==0)

{

// 打开文件成功

}

你的程序中,第十旅孝返行,拆饥fopen_s(&input,"./in.txt","r")

在,"./in.txt"的第一个双引号号和点之间,多出了一个看不见的字符,把这个不可见字符删除,

问题就解决慎段了。

fopen_s,_wfopen_s

打开一个文件,这些版本比fopen,_wfopen在安全性上都有增强。

使用方法:

errno_t fopen_s( FILE** pFile, const char *filename, const char *mode )

errno_t _wfopen_s( FILE** pFile, const wchar_t *filename, const wchar_t *mode )

通过打开的文件fopen_s和_wfopen_s不是可共享。如果需要先设置为可共享一个文历档败件,则使用_fsopen、_wfsopen与适当的共享模式常量,肢颤例如,_SH_DENYNO为读/写的共享。

fopen_s函数打开的文件指定的filename._wfopen_s是宽字符版本的fopen_s参数与_wfopen_s是宽字符字符串。_wfopen_s和fopen_s的行为相同 ; 否则。fopen_s可以接受的有效执行蠢卖 ; 在文件系统上的路径 UNC 路径和涉及到映射的网络驱动器的路径所接受的fopen_s,只要正在执行代码的系统有权访问该共享,或在执行时映射的网络驱动器。当构造路径fopen_s、 不要臆测可用性驱动器、 路径或网络共享的执行环境中。您可以使用正斜杠 (/) 或反斜杠 (\),作为路径中的目录分隔符。这些函数将验证它们的参数。如果pFile,filename,或mode为 null 的指针,这些函数生成无效参数异常,如中所述参数验证.检查返回值,是否函数成功执行该文件的任何进一步 *** 作之前,请参阅。如果发生错误,则返回的错误代码和全局变量errno设置。有关详细信息,请参阅errno、_doserrno、_sys_errlist 和 _sys_nerr.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12533125.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存