在VS2013 使用C语言库函数,出现出现错误,提示使用不安全函数use _CRT_SECURE_NO_WARNINGS

在VS 2013 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误:


error C4996: ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

原因是Visual C++ 2012 使用了更加安全的 run-time library routines 。新的Security CRT functions(就是那些带有“_s”后缀的函数),请参见:

CRT函数的安全增强的版本

下面给出这个问题的解决方案:

方法一:将原来的旧函数替换成新的 Security CRT functions。

方法二:用以下方法屏蔽这个警告:

1. 在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:

#define _CRT_SECURE_NO_DEPRECATE

2. 或声明 #param warning(disable:4996)

3. 更改预处理定义:

项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:

_CRT_SECURE_NO_DEPRECATE

时间: 2024-11-03 03:42:04

在VS2013 使用C语言库函数,出现出现错误,提示使用不安全函数use _CRT_SECURE_NO_WARNINGS的相关文章

C语言库函数大全及应用实例六

原文:C语言库函数大全及应用实例六                                              [编程资料]C语言库函数大全及应用实例六 函数名: getlinesettings 功 能: 取当前线型.模式和宽度 用 法: void far getlinesettings(struct linesettingstype far *lininfo): 程序例: #i nclude #i nclude #i nclude #i nclude /* the names o

C语言库函数大全及应用实例十四

原文:C语言库函数大全及应用实例十四                                       [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串中的所有字符都设为指定字符 用 法: char *strset(char *str, char c); 程序例: #i nclude #i nclude int main(void) { char string[10] = "123456789"; char symbol = 'c'; p

C语言库函数大全及应用实例九

原文:C语言库函数大全及应用实例九                                                [编程资料]C语言库函数大全及应用实例九 函数名: mktemp 功 能: 建立唯一的文件名 用 法: char *mktemp(char *template); 程序例: #i nclude #i nclude int main(void) { /* fname defines the template for the temporary file. */ char

C语言库函数大全及应用实例十三

原文:C语言库函数大全及应用实例十三                                          [编程资料]C语言库函数大全及应用实例十三 函数名: stat 功 能: 读取打开文件信息 用 法: int stat(char *pathname, struct stat *buff); 程序例: #i nclude #i nclude #i nclude #define FILENAME "TEST.$$$" int main(void) { struct st

C语言库函数大全及应用实例十

原文:C语言库函数大全及应用实例十                                             [编程资料]C语言库函数大全及应用实例十 函数名: qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)()); 程序例: #i nclude #i nclude #i nclude int sort_function( const void *a, con

C语言库函数大全及应用实例五

原文:C语言库函数大全及应用实例五                                                 [编程资料]C语言库函数大全及应用实例五 函数名: getcurdir 功 能: 取指定驱动器的当前目录 用 法: int getcurdir(int drive, char *direc); 程序例: #i nclude #i nclude #i nclude char *current_directory(char *path) { strcpy(path, "

C语言库函数大全及应用实例十一

原文:C语言库函数大全及应用实例十一                                         [编程资料]C语言库函数大全及应用实例十一 函数名: setbkcolor 功 能: 用调色板设置当前背景颜色 用 法: void far setbkcolor(int color); 程序例: #i nclude #i nclude #i nclude #i nclude int main(void) { /* select a driver and mode that sup

C语言库函数大全及应用实例十二

原文:C语言库函数大全及应用实例十二                                          [编程资料]C语言库函数大全及应用实例十二 函数名: setrgbpalette 功 能: 定义IBM8514图形卡的颜色 用 法: void far setrgbpalette(int colornum, int red, int green, int blue); 程序例: #i nclude #i nclude #i nclude #i nclude int main(v

C语言库函数大全及应用实例八

原文:C语言库函数大全及应用实例八                                            [编程资料]C语言库函数大全及应用实例八 函数名: kbhit 功 能: 检查当前按下的键 用 法: int kbhit(void); 程序例: #i nclude int main(void) { cprintf("Press any key to continue:"); while (!kbhit()) /* do nothing */ ; cprintf(&