gets
【1】函数:gets(字符指针)
【2】头文件:stdio.h(c中),c++不需包含此头文件
【3】原型:char*gets(char*buffer);
【4】功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取(接受)的换行符被转换为null值,并由此来结束字符串。
【5】返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
【6】注意:本函数可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,这就覆盖了堆栈原先的内容,破坏一个或多个不相关变量的值,为了避免这种情况,我们可以用fgets()来替换gets()。这个事实导致gets函数只适用于玩具程序。在V7的手册(1979年)中说明:为了向后兼容,gets删除换行符,gets并不将换行符存入缓冲区。
和scanf("%s:",&s)的比较
1.不同点:
scanf不能接受空格、制表符Tab、回车等;
而gets能够接受空格、制表符Tab和回车等;
2.相同点:
字符串接受结束后自动加'\0'。
使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止
转自:http://www.cnblogs.com/qinjunni/archive/2012/03/03/2378323.html
分享到:
相关推荐
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串hi hello,则应该使用__gets__函数... scanf和gets获取字符串时的区别 在C语言中,能构获取字符串的函数至少有两个:
今天小编就为大家分享一篇c语言获取用户输入字符串是scanf和gets的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
scanf()函数会根据格式字符串中的格式来读取输入数据,并将读取的数据存储到对应的变量中。 然而,scanf()函数也存在一些问题。例如,在程序1中,我们使用scanf()函数来读取两个字符,但是程序的执行结果却与预期...
例如,可以使用printf函数输出浮点数,可以使用scanf函数读取字符串,可以使用puts函数输出字符串,可以使用gets函数读取字符串等。 C语言字符串格式化是C语言编程中非常重要的一部分,正确地使用字符串格式化可以...
gets()函数用于输入字符串,从标准输入设备 (stdin)─ ─ 键盘上,读取 1 个字符串(可以包含空格),并将其存储到字符数组中去。 2. puts()函数 puts()函数用于输出字符串,输出存放在字符数组中的字符串。 ...
gets 函数用于从键盘获取字符串输入,fgets 函数用于从文件或键盘获取字符串输入。三者之间的区别在于,scanf 函数可以输入各种类型的数据,而 gets 和 fgets 函数只能输入字符串型数据。 在编写代码时,开发者需要...
答案一使用了 strlen 函数来获取字符串的长度,然后使用两个循环来遍历字符串,查找待替换的子字符串,并将其替换为新的字符串。 答案二使用了一个循环来遍历字符串,并使用指针来查找待替换的子字符串,并将其替换...
* 解决方案:使用 gets() 函数输入字符串,scanf() 函数输入格式化长度,使用 strlen() 函数获取字符串长度,然后使用循环语句将字符串格式化输出。 习题 2:删除字符串中的重复字符 * 知识点:字符串处理、循环...
在解题过程中,我们需要使用C语言编程,使用gets函数读取输入字符串,并使用memset函数初始化变量。然后,我们使用一个循环来遍历输入字符串,使用strcmp函数来比较字符串,并使用switch语句来转换英文单词为数字。...
2. 字符串输入函数:例如,`gets`函数用于从标准输入设备读取字符串。 3. 字符串长度计算:例如,`strlen`函数用于计算字符串的长度。 本资源摘要信息涵盖了C语言程序设计的多个方面,旨在帮助学习者巩固基础知识和...
在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回。如果要读取一行字符串,比如: I love BIT 这种情况,scanf()就无能为力了。这时我们最先想到...
gets函数的原型为`char *gets(char *s)”,其功能是从键盘读取一个以回车结束的字符串,并将其存储到字符数组中。gets函数会自动在字符串的结尾添加`\0`字符。 puts函数 puts函数的原型为`int puts(const char *s)...
scanf函数可以从键盘上获取字符串输入,而printf函数可以将字符串输出到屏幕上。 五、文件输入输出 文件输入输出是指计算机系统处理文件的输入输出过程。在C语言中,我们可以使用FILE类型的文件指针来实现文件输入...
字符串可以通过scanf()函数或gets()函数输入,例如`scanf("%s", ch);`用于输入字符串到ch数组中。字符串也可以通过puts()函数输出,例如`puts(ch);`用于输出ch数组中的字符串。字符串相关函数包括字符串长度计算...
注意:算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符)、While循环、字符数组、遇到一个问题,scanf通过%s读取字符串时,当遇到空格以后,就会匹配结束,这样没办法把一行带有空格...
getchar()函数主要用于读取键盘输入的一个字符,而gets()函数主要将键盘中输入的字符串放入到字符数组中。 scanf()函数是C语言程序设计中获取键盘输入的重要方法。例如,程序设计人员可以使用scanf()函数来获取整数...
6. strlen函数,用于获取字符串长度。 7. strlwr函数,用于将字符串转换成小写。 8. strupr函数,用于将字符串转换成大写。 C语言是一种功能强大且灵活的编程语言,广泛应用于操作系统、系统实用程序、硬件操作和...
例如,可以使用gets函数读入包含缩记符号的字符串,然后使用循环来判断和扩展字符。 总结 本资源摘要信息对C语言第四次作业ppt课件的内容进行了详细解析,包括删除数字问题和扩展字符问题的解决方案和实现方法。...
* 指针可以用于操作数组和字符串。 * 指针的使用需要注意语法和语义。 十四、宏定义 * 宏定义是指预处理器的指令。 * 宏定义可以实现代码的重用和简化。 * 宏定义的格式为:#define 宏名 替换文本,例如:#define ...