第一章C++对C的扩展(Externsion)--(2)输入与输出
2015-11-12 13:43
393 查看
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; }
相关文章推荐
- 关于C++ primer plus 第六章中文版 18.4
- 第一章 C++对C的扩展(Externsion)--(1)类型增强
- std::string的工具函数
- C语言输入终止
- C++ primer plus 第六版中文版 18.3
- 一个C++课程学习大纲
- #define 的用法解析
- 【转载】C/C++中const关键字详解
- C语言_用if```else语句解决奖金发放问题
- 赋值运算符函数的注意事项 ,指针和多维数组的讨论 (c/c++)
- 字典编码(C++实现)
- 基于C++中常见内存错误的总结
- C语言_IP地址解析
- C++ 构造函数和析构函数是否可以继承?
- C++ 构造函数和析构函数是否可以继承?
- 编译原理(二) NFA的确定化及DFA的最小化的算法及C++实现
- C++ primer plus 第六版中文版 18.2
- c++分数类
- C/C++中空数组使用问题
- 反斜杠在c/c++的作用