有关scanf_s、fopen_s等CRT安全函数 fopen函数
这类函数还包括get_s,printf_s,sscanf_s,... 等等[参看常用的安全CRT函数或这里]其中,scanf_s和fopen_s的原型如下:int scanf_s( const char *format [, argument]...);//<stdio.h>errno_t fopen_s( FILE** pFile, const char *filename, constchar *mode ); // <stdio.h>
若干CRT安全函数原型用到的数据类型的定义:#include <crtdefs.h>typedefint errno_t;typedefunsigned short wchar_t;#ifdef _WIN64typedefunsigned __int64 size_t;#elsetypedef_W64 unsigned int size_t;#endif
------------------------------------------下面cplusplus.com上有人给出的对scanf_s函数在非微软环境下的类似做法[来源]:
/ *注解:Any format string of the form "%s" is dangerous because itdoesn't prevent buffer overflow (a security concern). For all suchfunctions MS introduced 'secure' versions, like scanf_s().But plain-old scanf() is the ANSI standard, and it is notdeprecated by anyone but MS.Just make sure there is always a number between % and s inyour format strings.* /
#ifndef _MSC_VER#define scanf_s( fmt, ...) scanf( scanf_validate( fmt, __FILE__, __LINE__ ), __VA_ARGS__)const char*scanf_validate( const char* fmt, const char* file, long line){ constchar* p = fmt; while(1) { p = strstr( p, "%s" ); if (p == NULL) break; if ((p == fmt) || (*(p-1) != '%')){ fprintf(stderr, "Hey, you used "%%s" in %s: line %d!n", file, line); abort(); } } returnfmt;}#endif
更多阅读
用可乐瓶、矿泉水瓶等塑料瓶做的美丽花瓶 精 怎样用矿泉水瓶做花瓶
瞅瞅下面得花瓶做品你必须感到很不错看吧,说白了它但却是用可乐瓶,矿泉水瓶旧物改造得花瓶,是不是非常惊奇,看制做流程~ 用可乐瓶、矿泉水瓶等塑料瓶做的美丽花瓶 精——工具/原料1500ml饮料瓶 用可乐瓶、矿泉水瓶等塑料瓶做的美丽花瓶
转载 世卫组织、美国、中国PM2.5安全合格标准 世卫组织pm2.5标准
原文地址:世卫组织、美国、中国PM2.5安全合格标准作者:德国马哈汽车检测[导读]:pm2.5的标准最早是由美国在九七年的时候提出来,目前世界上很多的发达国家都把pm2.5列入了一个评价空气质量的标准,我们国家采用的是新的环境空气评价办法—
转载 电影《梅兰芳》全集:余少群、黎明等主演
原文地址:电影《梅兰芳》全集:余少群、黎明等主演作者:金丝狸猫京剧乐园
转载 纸老虎、癞皮狗、寄生虫、癞蛤蟆等分别比喻什么人 电竞癞皮狗
原文地址:纸老虎、癞皮狗、寄生虫、癞蛤蟆等分别比喻什么人作者:小荷尖尖变色龙 政治上善于变化和伪装的人白骨精 极为阴险毒辣的女人白眼狼 忘恩负义的人饭桶 只会吃饭不会做事的人太上皇 在幕后操纵、掌握实权的人笑面虎 外貌装得善
Mac OS系统使用技巧——快捷键复制、粘贴等 mac os复制粘贴快捷键
Mac OS系统使用技巧——快捷键(复制、粘贴等)——简介Mac OS系统与Windows系统在使用上存在较大差异,尤其在快捷键方面,比如Windows系统中的“复制”快捷键为“ctrl+c”,而在Mac OS系统中则为“command+c”,因此作为习惯了Windows系统的