c/c++学习系列之putchar、getchar、puts、gets的运用
来源:互联网 发布:软件企业所得税 编辑:程序博客网 时间:2024/05/16 00:32
c/c++学习系列之putchar、getchar、puts、gets的运用
如果您只想取得使用者输入的字元,則可以使用getchar(),它直接取得使用者輸入的字元并传回,如果只想要输出一個字元,則也可以直接使用putchar(),以下是个简单的例子:
#include <stdio.h>int main(void) { char c; printf("请输入一个字元:"); c = getchar(); putchar(c); putchar('\n'); return 0;}
如果您輸入了兩個以上的字元,則getchar()會取得第一個字元,並將第二個字元留在緩衝區中,直到您使用getchar()或scanf()再次嘗試取得輸入。
如果想要取得使用者輸入的整個字串,則可以使用gets(),它會取得使用者的輸入字串,不包括按下Enter的換行字元碼,而想要輸出整個字串,也可以直接使用puts(),它在輸出字串後,會直接進行換行,例如
#include <stdio.h>int main(void) { char str[20]; puts("請輸入字串:"); gets(str); puts("輸入的字串為:"); puts(str); return 0;}
getchar():
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
- c/c++学习系列之putchar、getchar、puts、gets的运用
- putchar()、getchar()、puts()、gets()
- C 输入、输出库函数学习总结(printf & scanf, gets & puts, fgets & fputs, getchar & putchar)
- C/C++中输入输出函数gets(),puts(),getchar(),putchar()等的解析
- gets puts getchar putchar的区别
- C语言 getchar putchar gets puts sscanf sprintf strlen strcpy strcat strcmp函数列子
- 字符与字符串处理之getchar,gets,putchar,puts函数
- C语言(getchar、_getch、gets、putchar函数的比较)
- C语学习之 getchar() putchar()
- scanf/printf/getchar/putchar/gets/puts/
- 【C语言学习】getchar , putchar
- 【C++】getchar putchar的用法
- 输入和获取字符的使用(putchar,getchar,puts,gets,fputc,fgetc,fscanf,fprintf)
- getchar()、putchar()、gets()、puts()、cin.get()、cin.getline()、getline()
- getchar/getche/getch/gets/scanf/printf/puts/putchar
- C语言读取的结束方法及getchar()和putchar(int)、gets
- C语言中printf,scanf,getchar , puts,gets 的使用及区别
- C语言——puts() putc() getchar() gets() getch() getche()的用法
- STL-vector容器
- iOS开发tableViewcell中的textField输入中文时向下偏移的问题
- 动态绑定ng-model
- 登录页面
- MySql中4种批量更新的方法
- c/c++学习系列之putchar、getchar、puts、gets的运用
- 智能硬件的狂热
- 微信APP统一下单
- Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: 必须在没有程序包的类上指定 @Web
- springMVC 过滤器获取bean 和 multipart/form-data请求参数
- jquery聚焦自动轮播图片
- The user specified as a definer ('root'@'%') does not exist 解决方法
- TCP/IP--IP层转发分组的流程
- mode='rb' mode='rb+' 区别