admin 管理员组文章数量: 887032
2024年1月6日发(作者:博客个人中心登录)
c语言中gets函数的用法
gets 函数用于从标准输入(即键盘)中获取一行输入,在C语言中为行缓冲的输入。
一般的语法格式如下:
char *gets(char *s);
其中,s 代表一个指向字符串的指针,字符串由用户从键盘输入;char 是声明的字符数组的名字; *s 是一个字符串。
返回值:
gets 函数的返回值为 s 的第一个字符的指针。
功能:
gets 函数用于从标准输入中获取一行字符串。该函数在遇到换行符(Enter键,ASCII码为0x0D )或文件尾(一般是Ctrl+Z)时,才结束读取。它把由键盘输入的字符串以字符为单位存放到数组 s 中,而以换行符 'n' 作为字符串的结束标志。在存储字符时,不计算'0'字符。
当用户输入时,每次输入一个字符,它都将该字符存储到 s 中,直到用户按下'
Enter '或 ' Ctrl + Z '就会停止输入并结束函数。
另外,由于字符串可能很长,而编写程序时又不能提前知道用户输入字符串的最长长度,所以gets函数可能会在s指向的数组大小不够时,而超出预定义范围,这时就可能出现缓冲区溢出的情况,进而造成程序的安全漏洞。
说明:
gets函数由C标准库中提供,在使用该函数前程序必须包含 stdio.h 头文件。
gets函数和fgets()函数相似,只不过fgets()函数的参数多了一个,用于指定要输入的最多字符数,而gets()函数没有这个参数,也就是说,即使字符串很长,那么仍然会一直接受直到遇到换行符或者文件尾结束。
实例:
下面的实例使用gets函数从标准输入(键盘)获取一个字符串,并把它存储到字符数组 str 中:
#include
int main (){
char str[100];
printf("请输入一个字符串 :");
gets(str);
printf("你输入的字符串是: %sn",str);
return 0;
}
输出:
请输入一个字符串 :This is a test
你输入的字符串是: This is a test
版权声明:本文标题:c语言中gets函数的用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1704480709h461640.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论