首先這都是針對由於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
當從文件中讀取的是數字時,還正常一樣,但如果讀取的是字符串,則需要在相應的數據讀取後面加上該數據長度