把基本输入 scanf getchar gets 的区别
在写控制台程序的时候,难免会遇到各种各样的输入格式读取,下面比较一下 scanf getchar 和 gets的区别 首先我们要知道,当用户从键盘键入一个字符串的时候,就会在IO缓冲区内写入信息,这个缓冲区是一个队列, 我们用下面几段代码来检验一下,不同函数对缓冲区的读取效果 这一段代码是测试这三个函数到底读取了哪些字符 代码如下 /************************************************************************* > File Name: a.cpp > Author: VOID_133 > ################### > Mail: ################### > Created Time: 2014年10月26日 星期日 00时43分53秒 ************************************************************************/ #include<iostream> #include<algorithm> #include<cstdio> #include<vector> #include<cstring> #include<map> #include<queue> #include<stack> #include<string> #include<cstdlib> #include<ctime> #include<set> using namespace std; int main(void) { char s[30]; //scanf(“%s”,s); //gets(s); int len=strlen(s); for(int i=0;i<len;i++) { if(s[i]==’n’) s[i]=’#’; if(s[i]==’t’) s[i]=’$’; if(s[i]==’ ‘) s[i]=’@’; } printf(“%s”,s); return 0; } 这段代码中,首先用注释掉的scanf来接受输入 输入 test加回车后 输出的只有…