2.输入与输出(cin /cout)
第一个真正意义上的c++程序,c++程序的后缀名为cpp。假设程序名叫xxx则应该写成xxx.cpp。
2.1.cin && cout
cin 和cout 是C++的标准输入流和输出流。他们在头文件iostream中定义。
流名 | 含义 | 隐含设备 | 流名 | 含义 | 隐含设备 |
---|---|---|---|---|---|
cin | 标准输入 | 键盘 | cerr | 标准错误输出 | 屏幕 |
cout | 标准输出 | 屏幕 | clog | cerr的缓冲输出 | 屏幕 |
int main()
{
char name[30];
int age;
cout<<"pls input name and age:"<<endl;
cin>>name;
cin>>age;
// cin>>name>>age;
cout<<"your name is: "<<name<<endl;
cout<<"your age is: "<<age<<endl;
return 0;
}
//string name 安全性对比
//%d%c 的问题
2.2.格式化
c 语言中printf 拥有强大的格式化控制。c++亦可以实现,略复杂。
2.2.1.设置域宽及位数
对于实型,cout默认输出六位有效数据,setprecision(2) 可以设置有效位数,setprecision(n)同setiosflags(ios::fixed)合用,可以设置小数点右边的位数。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
printf("%c\n%d\n%f\n",'a',100,120.00);
printf("%5c\n%5d\n%6.2f\n",'a',100,120.00);
cout<<setw(5)<<'a'<<endl<<setw(5)<<100<<endl
<<setprecision(2)<<setiosflags(ios::fixed)<<120.00<<endl;
return 0;
}
2.2.2.按进制输出
输出十进制,十六进制,八进制。默认输出十进制的数据。
int i = 123;
cout<<i<<endl;
cout<<dec<<i<<endl;
cout<<hex<<i<<endl;
cout<<oct<<i<<endl;
cout<<setbase(16)<<i<<endl;
2.2.3.设置填充符
还可以设置域宽的同时,设置左右对齐及填充字符。
int main()
{
cout<<setw(10)<<1234<<endl;
cout<<setw(10)<<setfill('0')<<1234<<endl;
cout<<setw(10)<<setfill('0')<<setiosflags(ios::left)<<1234<<endl;
cout<<setw(10)<<setfill('-')<<setiosflags(ios::right)<<1234<<endl;
return 0;
}