gets()gets_s()puts()函数的使用
来源:互联网 发布:蓝光2000主板端口说明 编辑:程序博客网 时间:2024/06/04 18:21
从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
gets
包含头文件
string.h
从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
输出可以考虑puts()函数的应用输出完后会自动加一个回车换行符号
char* gets(char* buffer)
返回值
读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
本函数可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,这就覆盖了堆栈原先的内容,破坏一个或多个不相关变量的值,为了避免这种情况,我们可以用gets_s()来替换gets()(但是这个get_s()函数不是标准库函数,是扩张的函数,各个编译器支持程度不一样)。这个事实导致gets函数只适用于玩具程序。fgets()函数以考虑溢出的问题,但是其区别在于直接将换行回车存入不转换成'\0’
实例
int main(void) { char str[5]; gets(str); printf("%s ",str); return 0; },puts
包含头文件
stdio.h
向终端输出一个字符串
格式
int puts(char *str);
str:需要输出的字符串,可以是字符数组名(字符串),也可以是字符串常量(包括转义字符)
注意的是输出完后会自动加一个回车换行符号
返回值
输出的字符串长度,如果输出失败返回值为EOF
int main(void) { char str[] = "this is a test"; puts(str); puts(" "); puts("this is a test "); return 0; }
- gets()gets_s()puts()函数的使用
- gets,gets_s,fgets函数
- 字符串函数的使用...strcat...puts...gets...strlen...strcmp...strcpy
- gcc 里不能使用gets() 和 puts() 函数的解决办法
- gets()函数puts()函数
- gets和puts函数
- puts函数的使用
- gets、fgets、gets_s、scanf函数学习总结
- gets()函数与puts()函数
- gets()函数和puts()函数的渊源关系
- C语言 gets(),puts()函数
- C语言笔记——gets_s, fgets, puts函数
- fgets fputs 的结合使用 ;gets puts的结合使用
- gcc不支持标准c的gets与puts函数
- gcc不支持标准c的gets puts函数
- printf()函数、puts()、gets()、scanf()函数
- 字符串处理函数puts()和gets()
- gets()和puts()函数分析
- span和div的区别
- Delphi中WebBrowser控件的3个bug及解决方案
- VC中如何给对话框应用程序添加————————加速键
- 最大不覆盖点的圆
- margin:10px 5px 15px 20px含义
- gets()gets_s()puts()函数的使用
- Linux epoll详解
- ffmpeg 源代码简单分析 : avcodec_register_all()
- 使用css设置背景图方法_background:url
- A summery of compile android 4.0 question
- 申请基金-撰写体会
- jsp study 3 变量与与数据
- java参数传递机制
- Box2D源码学习(2)-b2BlockAllocator块内存分配