目录
写在前面:
主要注意的包括以下几个点(重要性不分先后):
1.输入参数
2.结束标志
3.是否会将没输入的继续放在输入流
4.返回值
5.针对字符、数字及字符、字符串的哪种情况
一、输入方式
1.cin>>
1)最常见的是获取输入的一个字符或数字(后面会介绍只输入字符的情况),如
int a,b;
cin>>a>>b;
注意:cin>>会自动过滤掉不可见字符(如空格 回车 tab等)。
若不想过滤掉空白字符,可以用noskipws流进行控制。如下程序,没有过滤掉不可见字符,输入的空格字符存入了input[1]中,也可输出。
#include<iostream>
using namespace std;
int main()
{
int input[5];
for (int i = 0; i < 5; i++)
cin >> noskipws >> input[i];
for (int i = 0; i < 5; i++)
cout << input[i] << endl;
system("pause");
return 0;
}
2)获取输入的字符串,可以用数组或string类型。如
char a[20];
cin>>a;
cout<<a<<endl;
或者string类型:
string s;
cin>>s;
cout<<s<<endl;
注意:遇到空格、回车等会结束获取输入的字符串,后面的字符串会过滤掉(存放在输入流中)。如果后面还需要输入字符串,则会从前面存放的字符串开始获取。
比如将输入存在一个数组中,中途若遇见空格,则只会将空格前面的内容放入数组。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int c[20];
cin >> c;
cout << c;
system("pause");
return 0;
}
2.cin.get()
此函数从输入流中读入一个字符(char 非int,如果定义数组或变量为int就会出错!),返回值就是该字符的 ASCII 码。如果碰到输入的末尾,则返回值为 EOF。
EOF 是 End of File 的缩写。istream 类中从输入流(包括文件)中读取数据的成员函数,在把输入数据都读取完后再进行读取,就会返回 EOF。EOF 是在 iostream 类中定义的一个整型常量,值为 -1。
get() 函数不会跳过空格、制表符、回车等特殊字符,所有的字符都能被读入。
1)cin.get(字符变量名),用来接收字符,只获取一个字符,可以接收空格,遇回车结束
#include <bits/stdc++.h>
using namespace std;
int main()
{
c