gets()函数在获取输入时,如果无限输入会造成栈空间溢出,在程序返回时,不能正常的找到返回地址,程序将发生不可预测行为。
在VS2013中 使用微软自有的gets_s()代替gets()
char c[10];
gets_s(c,9);
gets中第二个参数9为 为数组的长度10-1(因为末尾存放\0)
本文探讨了gets()函数的安全隐患,特别是在无限输入时可能导致栈溢出的问题,并介绍了VS2013中微软提供的更安全替代方案——gets_s()函数。通过一个简单示例说明了如何正确使用gets_s()来避免安全风险。
gets()函数在获取输入时,如果无限输入会造成栈空间溢出,在程序返回时,不能正常的找到返回地址,程序将发生不可预测行为。
在VS2013中 使用微软自有的gets_s()代替gets()
char c[10];
gets_s(c,9);
gets中第二个参数9为 为数组的长度10-1(因为末尾存放\0)
1729
1528
7002

被折叠的 条评论
为什么被折叠?