fopen_s,fscanf_s怎么使用?

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一毛一样

猜你喜欢

转载自blog.csdn.net/qq_40941932/article/details/90725116
今日推荐