c/c++键盘输入
2016-07-12 17:08
429 查看
C语言输入:
包含头文件 # include<stdio.h>即可。
(1)使用scanf():
(a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入)
char arr[1024];
int i=0;
char ch;
scanf("%c",&arr[0]); //注意格式,单个字符输入
ch=arr[0];
while(ch!='\n') //连续输入字符,直到输入回车符结束
{
i++;
scanf("%c",&arr[i]);
ch = arr[i];
}
arr[i] = '\0'; //注意在末尾加上结束符
printf("%s\n",arr);
键盘输入:hello,word hello回车
命令框显示:hello,word hello
hello,word hello
请按任意键继续. . .
此时arr的状态:
(b)利用一个scanf函数输入一个字符串:
char arr[1024];
scanf("%s",arr);
printf("%s\n",arr);
键盘输入:hello回车
命令框显示:hello
hello
请按任意键继续. . .
此时arr的状态:
说明:系统自动在hello后面加一个'\0'结束符。
(c)利用一个scanf函数输入多个字符串:
char arr[1024];
scanf("%s",arr); //注意格式,以字符串格式输入
printf("%s\n",arr);
键盘输入:hello,word hello回车
命令框显示:hello,word hello
hello,word
请按任意键继续. . .
此时arr的状态:
说明:系统把空格字符作为输入的字符串之间的分隔符,因此只将空格前的字符hello,word送到arr中。
(2)使用gets():
输入一个字符串,遇回车结束。
char arr[1024];
gets(arr);
puts(arr);
printf("%s\n",arr);
输入:hello word,hello word回车
命令框显示:
hello word,hello word
hello word,hello word
hello word,hello word
请按任意键继续. . .
此时arr的状态:
(3)使用getchar():
getchar():从键盘输入一个字符。
char arr[1024];
int i=0;
arr[0]=getchar();
while(arr[i]!='\n') //直到输入回车符时结束
{
i++;
arr[i] = getchar();
}
arr[i] = '\0'; //末尾加入分隔符
printf("%s\n",arr);
输入:hello word,hello回车
命令框显示:hello word,hello
hello word,hello
请按任意键继续. . .
此时arr的状态:
C++输入:
(1)使用cin,string对象:
# include <iostream>
# include <string>
using namespace std;
void main()
{
string sarr;
cin>>sarr;
cout<<sarr<<endl;
}
输入:hello,word hello回车
命令框输出:hello,word hello
hello,word
请按任意键继续. . .
说明:string对象遇空白(空格符、换行符、制表符等)结束读入。
(2)使用getline(istream &in, string &s):
从输入流读入一行到string s。
循环读入,回车代表一次读取完毕,再输入下次读取字符:
string sarr;
while(getline(cin,sarr)) //反复读取,直到达到文件末尾
cout<<sarr<<endl;
输入:hello word,hello回车
命令框显示:hello wod,hello
hello wod,hello
继续输入:ni hao ma回车
命令框显示:hello wod,hello
hello wod,hello
ni hao ma
ni hao ma
说明:第一次sarr里面存放的是hello wod,hello,第二次sarr里面存放的是ni hao ma。
只读入一行,遇回车结束读入:(!!!使用string对象输入的终极选择)
string sarr;
getline(cin,sarr);
cout<<sarr<<endl;
输入:hello word,hello回车
命令行显示:hello word,hello
hello word,hello
请按任意键继续. . .
sarr的状态:(可用下标引用元素)
(3)使用vector:
vector<char> varr;
char ch;
while(cin>>ch)
varr.push_back(ch);
输入:hello word,hello回车
ctrl+z回车
命令框输出:hello word,hello
^Z
请按任意键继续. . .
varr的状态:(!!!!里面没有空格)
(4)使用vector,string
string word;
vector<string> varr;
while(cin>>word)
varr.push_back(word);
输入:hello word, hello ni,hao回车
ctrl+z回车
命令框输出:hello word, hello ni,hao
^Z
请按任意键继续. . .
varr与word的状态:(空白符分单词)
(5)使用vector,getchar():(!!!使用vector向量输入的终极选择)
char ch;
vector<char> varr;
ch = getchar();
while(ch!='\n')
{
varr.push_back(ch);
ch = getchar();
}
for(int i=0;i<varr.size();i++)
cout<<varr[i];
输入:hello word,hello回车
命令框输出:hello word,hello
hello word,hello请按任意键继续. . .
varr的状态:
包含头文件 # include<stdio.h>即可。
(1)使用scanf():
(a)利用一个scanf函数输入单个字符:(一个数字也可被认为是一个字符输入)
char arr[1024];
int i=0;
char ch;
scanf("%c",&arr[0]); //注意格式,单个字符输入
ch=arr[0];
while(ch!='\n') //连续输入字符,直到输入回车符结束
{
i++;
scanf("%c",&arr[i]);
ch = arr[i];
}
arr[i] = '\0'; //注意在末尾加上结束符
printf("%s\n",arr);
键盘输入:hello,word hello回车
命令框显示:hello,word hello
hello,word hello
请按任意键继续. . .
此时arr的状态:
(b)利用一个scanf函数输入一个字符串:
char arr[1024];
scanf("%s",arr);
printf("%s\n",arr);
键盘输入:hello回车
命令框显示:hello
hello
请按任意键继续. . .
此时arr的状态:
说明:系统自动在hello后面加一个'\0'结束符。
(c)利用一个scanf函数输入多个字符串:
char arr[1024];
scanf("%s",arr); //注意格式,以字符串格式输入
printf("%s\n",arr);
键盘输入:hello,word hello回车
命令框显示:hello,word hello
hello,word
请按任意键继续. . .
此时arr的状态:
说明:系统把空格字符作为输入的字符串之间的分隔符,因此只将空格前的字符hello,word送到arr中。
(2)使用gets():
输入一个字符串,遇回车结束。
char arr[1024];
gets(arr);
puts(arr);
printf("%s\n",arr);
输入:hello word,hello word回车
命令框显示:
hello word,hello word
hello word,hello word
hello word,hello word
请按任意键继续. . .
此时arr的状态:
(3)使用getchar():
getchar():从键盘输入一个字符。
char arr[1024];
int i=0;
arr[0]=getchar();
while(arr[i]!='\n') //直到输入回车符时结束
{
i++;
arr[i] = getchar();
}
arr[i] = '\0'; //末尾加入分隔符
printf("%s\n",arr);
输入:hello word,hello回车
命令框显示:hello word,hello
hello word,hello
请按任意键继续. . .
此时arr的状态:
C++输入:
(1)使用cin,string对象:
# include <iostream>
# include <string>
using namespace std;
void main()
{
string sarr;
cin>>sarr;
cout<<sarr<<endl;
}
输入:hello,word hello回车
命令框输出:hello,word hello
hello,word
请按任意键继续. . .
说明:string对象遇空白(空格符、换行符、制表符等)结束读入。
(2)使用getline(istream &in, string &s):
从输入流读入一行到string s。
循环读入,回车代表一次读取完毕,再输入下次读取字符:
string sarr;
while(getline(cin,sarr)) //反复读取,直到达到文件末尾
cout<<sarr<<endl;
输入:hello word,hello回车
命令框显示:hello wod,hello
hello wod,hello
继续输入:ni hao ma回车
命令框显示:hello wod,hello
hello wod,hello
ni hao ma
ni hao ma
说明:第一次sarr里面存放的是hello wod,hello,第二次sarr里面存放的是ni hao ma。
只读入一行,遇回车结束读入:(!!!使用string对象输入的终极选择)
string sarr;
getline(cin,sarr);
cout<<sarr<<endl;
输入:hello word,hello回车
命令行显示:hello word,hello
hello word,hello
请按任意键继续. . .
sarr的状态:(可用下标引用元素)
(3)使用vector:
vector<char> varr;
char ch;
while(cin>>ch)
varr.push_back(ch);
输入:hello word,hello回车
ctrl+z回车
命令框输出:hello word,hello
^Z
请按任意键继续. . .
varr的状态:(!!!!里面没有空格)
(4)使用vector,string
string word;
vector<string> varr;
while(cin>>word)
varr.push_back(word);
输入:hello word, hello ni,hao回车
ctrl+z回车
命令框输出:hello word, hello ni,hao
^Z
请按任意键继续. . .
varr与word的状态:(空白符分单词)
(5)使用vector,getchar():(!!!使用vector向量输入的终极选择)
char ch;
vector<char> varr;
ch = getchar();
while(ch!='\n')
{
varr.push_back(ch);
ch = getchar();
}
for(int i=0;i<varr.size();i++)
cout<<varr[i];
输入:hello word,hello回车
命令框输出:hello word,hello
hello word,hello请按任意键继续. . .
varr的状态:
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解