c++常用的各类型的输入输出

c++字符串、数字等类型用空格分开混合输入的方式,以及按精度(小数点位数)输出

当个笔记吧,老是忘记,而且最近一直在忙找工作,笔试的时候可能用的到。
1、输入数据类型(int、double、float等)

#include <iostream>
using namespace std;
int main()
{
       int i;
       double j;
       float k;
       cin >> i >> j >> k;
}

2、输入为字符串(char []、string)

void Input(){
       char a[50]; // 最大长度为50,输入的时候不能超过,不足的话用“\0”填充
       string s1;
       // 这里遇到输入的字符串中有“空格”、“回车”、“Tab”, 都会停止输入
       cin >> a;
       cin >> s1;
}

这里举个栗子:

char a[10];
cin >> a;
cout << "a = " << a << endl;

c++常用的各类型的输入输出

string s1;
cin >> s1;
cout << s1 << endl;

c++常用的各类型的输入输出

char a[20];
string s1;
cin >> a >> s1; // 其实这就是两中不同类型的字符串的混合输入,看下面他的输出
cout << ”第一个字符串a= “ << a  << endl << "第二个字符串s1= " << s1 << endl;

c++常用的各类型的输入输出
遇到空格等特殊字符,会换一个变量传值,再举一个混合输入的栗子,体会一下

int score;
string studentnum;
string name;
cin >> name >> studentnum >> score;// 一定要按这种格式的输入
cout << score << studentnum << name << endl;

c++常用的各类型的输入输出
3、cin.get()这个函数也可以用来输入

char a;
a = cin.get();      // 若输入:xiao hei
cout << a << endl;  // 则输出:x,可任意看出只能用来接收一个字符

char b[10];
cin.get(b, 10);     // 若输入:xiao hei,这种方式,最多输入9个字符,加上“\0”刚好10个
cout << b << endl;  // 则输出:xiao hei,可输入字符串,会把空格等特殊字符也当作变量的一个字符

4、cin.getline()这个函数可以用来接收一个字符串,尽管字符串中含有空格等特殊字符,
这个与上面的get()函数接收字符串有点类似。其实getline这个函数有三个形参。第一个为字符串名,第二个字符串最大长度,第三个为终止输入的特殊字符。若下面的getline(s1, 10),改为getline(s1, 10, ‘a’),则输出的的是:xi

char a[10];
cin.getline(a, 10);
cout << a << endl;

c++常用的各类型的输入输出
5、上面的是针对char类型,对于string类型,也可以用getline()函数,但是该函数不属于输入流的成员函数,属于string成员函数

string s1;
getline(cin, s1);
cout << s1 << endl;

c++常用的各类型的输入输出
暂时用的比较多就是这几种了,如果遇到了还会继续添加。下面看下对单(双)精度浮点数,固定小数点位数输出,这些都是小问题,我觉得该记还是得记。
1、precision()函数和fixed一起用

double pi = 3.141592654;
cout.precision(5);            // 控制小数点后五位
cout << fixed << pi << endl;  // 输出为:3.14159

2、采用格式控制函数setpricesion()和fixed一起用

double pi = 3.141592654;
cout << setprecision(3) << fixed << pi << endl; // 输出为:3.142
上一篇:C++ 中 cin.get()、cin.getline()、getline()的用法总结


下一篇:为什么在C中读取stdin的行比Python慢​​得多?