首先这都是针对由于VS软件的设置,一些函数的需要在函数名后面加”_s“才能使用。
(或者最直接的方法程序开头加#pragma warning(disable:4996) 就什么问题都没有了)
比如最常见的scanf_s,strcmp_s,strcpy_s。这些加后缀,和原来的scanf,strcmp,strcpy用法一样。
但是有些加完后缀使用方法就不一样,比如下面文件读取数据时的两个函数:
一,fopen,fopen_s的函数用法
FILE *fp; //定义
fp = fopen("JK0405.txt", "r+") //正常情况下
fopen_s(&fp, "1111.txt", "wt+"); //VS版本加_s
二,fscanf,fscanf_s的函数用法
struct Student
{
int data;
int name;
char age[10];
}; //结构体定义
fscanf(fpp, "%d %d %s\n", &stu[i].data, &stu[i].name,stu[i].age);
fscanf_s(fpp, "%d %d %s\n", &stu[i].data, &stu[i].name,stu[i].age,10); //注意看最后的10
当从文件中读取的是数字时,还正常一样,但如果读取的是字符串,则需要在相应的数据读取后面加上该数据长度