记录C++输入的一些常用方法,虽然不全面,但是应对基本的输入问题,应该是够用了。
这里我就简单的粘贴一下代码,里面有各种方法的注释,学习时建议分开测试,因为输入流中的回车会对结果产生干扰:
一共记录了这些方法:
- cin >>
- cin.get(ch)
- cin.get(c, 20)
- cin.getline(d, 20)
- getline(cin, str)
方法名 | 用途 | 用法 | 常用指数 |
---|---|---|---|
cin >> | 输入常见变量, 不包括空格 | 直接 + 变量名就行了 | ¥¥¥¥¥ |
cin.get(ch) | 从字符流读入一个字符, 包括空格回车 | 添加一个char变量即可 | ¥ |
cin.getline(d, 20) | 读入指定字符到指针d上 | 参数1为指针,参数2为字符数量, 参数3为结束字符 | ¥¥ |
getline(cin, str) | 读一行字符串到str中,包括空格 | 参数1 cin, 参数2 字符串指针 | ¥¥¥ |
#include<iostream>
using namespace std;
/*
下面是对一些C++常用输入方法的总结, 截取单个部分分别进行测试
*/
int main(){
static string DIVIDE_LINE = "-------------------------\n";
//最普通的输入方式,不能包括空格
cout << "Test 'cin >>' :" << "\n";
int a, b;
cout << "Input a and b:";
cin >> a >> b;
cout << a + b << "\n" << DIVIDE_LINE;
//接收一个字符数组,接收20个字符,如果第二十个是'\0',最后一个字符永远是'\0'
//可以包括空格 ,如果之前的输入流有回车将直接结束
cout << "Test 'cin.get(a, 20)' :" << "\n";
char c[20];
cin.get(c, 20);
cout << c << "\n" << DIVIDE_LINE;
//接收一行字符串,可以包括空格
//三个参数,一个字符指针, 一个数字表示字符个数, 一个结束字符(可忽略,默认是'\0',如果不是,则用'\0'替换并结束)
cout << "Test 'cin.getline()':" << "\n";
char d[20];
cin.getline(d, 20, '6');
cout << d << "\n" << DIVIDE_LINE;
//接收一个字符串,可以包括空格, 还有回车是endl
cout << "Test 'getline()' : ";
string str;
getline(cin, str);
cout << str << "\n" << DIVIDE_LINE;
}