首页 > 编程知识 正文

c语言get与gets,c的gets函数用法

时间:2023-05-06 18:11:36 阅读:245298 作者:4002

C语言gets()和get_s()函数

介绍
gets()可以无限读取,易发生溢出。如果溢出,多出来的字符将被写入到堆栈中,这就覆盖了堆栈原先的内容,破坏一个或多个不相关变量的值,由于可以无限读取,所以在2011年12月,ANSI 采纳了 ISO/IEC 9899:2011 标准,标准中删除了 gets()函数,使用一个新的更安全的函数gets_s()替代

用法

gets()用法

#include <stdio.h> int main(void){ char str1[5]; gets(str1); printf("%sn", str1); return 0;}

gets_s()用法

#include <stdio.h>#define CH 20int main(void){ char ch[CH]; printf("请输入你的名字:n"); //gets_s用法:gets_s(buffer,size); //推荐用字符数组长度-1作为size(留空'') gets_s(ch,CH-1); printf("这是你的名字:%sn", ch); return 0;}

特点
gets()函数读取到n(我们输入的回车)于是停止读取,但是它不会把n包含到字符串里面去。然而,和它配合使用的puts函数,却在输出字符串的时候自动换行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。