fopen_s,fscanf_s怎么使用?

在VS中使用C语言的fopen和fscanf读取文件会因安全问题报错,可在程序前加#program warning(disable:4996),也可改用fopen_s和fscanf_s。本文介绍了这两个函数的使用方法,包括参数含义、函数定义及返回值等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fopen和fscanf相信大家都用过,fopen和fscanf是C语言里面用来读取文件的函数,但是我们发现现在在VS里面如果使用这些函数,VS会以安全性为由报错,除了在程序最前面加上#program warning(disable:4996)以外,我们另外一个方法就是把这两个函数改成fopen_s和fscanf_s.下面直接进入主题说明这两个函数怎么使用:

先看例子:

////fopen_s的用法
	FILE *fp;
	fopen_s(&fp,"distance.hxh","r");
////fscanf_s的用法
        int order_=0;
       	FILE *order;
	fscanf_s(order, "%d", &order_);

根据上面的用法我们一个个来解析:

fopen_s:第一个参数是文件的二级指针,第二个参数是文件的相对路径,第三个参数打开文件的方式,这个和fopen是一样的常用的有:“r”(只读),“w”(打开一个空文件,并写入数据,如果该文件已有内容则会清除原内容),“a”(该方式用来在原文件内容的后面添加内容。

fscanf_s:第一个是我们要输入的文件的一级指针,第二个参数是我们想要从文件里面读入的内容。这个函数其实很好用,就和scanf一样,只是在scanf前面加了一个文件指针。

以下是fopen_s的函数定义:

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

errno_t 代表错误类型,不同的值代表了不同的错误,例如“0”代表成功执行,“1”代表“不允许执行该操作”等等。

以下是fscanf_s的定义:

int fscanf_s(FILE *restrict stream, const char *restrict format, ...);

这个函数的返回值就是我们该函数的成功读入的数据的数量。除了在开头加了一个文件指针之外,其他的都和scanf一毛一样

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值