首先应用
#include <iostream>
#include <iomanip>
1.进制读写
int val=10;//十进制数
cout<<"输出8进制"<<oct<<val<<endl;
cout<<"输出16进制"<<hex<<val<<endl;
cout<<"输出10进制"<<dec<<val<<endl;
2.精度
double pi=3.141592658;
cout<<setprecision(4);//设置小数精确度,影响以下所有输出
cout<<pi<<endl;
//out:3.142
cout<<fixed<<pi<<endl;//流的定点表示法
//out:3.1416
cout<<scientific<<pi;//流的科学表示法
//out:3.1416e+000
3.对齐文本和设置字符宽度
cout<<"abcde"<<endl;
cout<<setw(10);//设置字段宽度
cout<<"abcde"<<endl;
cout<<setw(10)<<setfill('*');//指定填充字符
cout<<"abcde"<<endl;
cout<<"abcde"<<endl;//
out:
abcdeabcde
*****abcde
abcde
4.字符串读写
(1)使用std::cin::get将输入读取到char数组
char list[10]={0};
cin.get(list,3);
cout<<list<<endl;
///
input:i am a boy
out:i a
(2)使用std::cin将输入读取到std::string中
string list;
cin>>list;//cin遇到空白后停止插入
cout<<list;
getline(cin,list);//确保不跳过空白字符
cout<<list;
///
input:abcde f
out:abcde
input:abcde f
out:abcde f
5.文件读写
#include <fstream>
//开关
fstream myfile;
myfile.open("E:/file.txt",ios_base::in|ios_base::out|ios_base::trunc);//in:可读文件,out:可写入文件,trunc:即使文件存在也重新创建
myfile.close();//写入
ofstream mywfile;
mywfile.open("E:/file.txt",ios_base::out);//新建文本
if(mywfile.is_open()){
mywfile<<"hello";//写入
mywfile.close();
}//读取
ifstream myrfile;
myrfile.open("E:/file.txt",ios_base::in);//读取文本
string filecontents;
if(myrfile.is_open()){while(myrfile.good()){//判定读文件循环的结束getline(myrfile,filecontents);cout<<filecontents<<endl;}
myrfile.close();
}//读写二进制(有问题,待完善,请读者跳过不要看)
ofstream mywfile;
mywfile.open("E:/file.bin",ios_base::out|ios_base::binary);//新建文本
if(mywfile.is_open()){
mywfile.write(*input,sizeof(input);//写入
mywfile.read();
mywfile.close();
}
6.使用std::stringstream在整型和字符串间转换
#include<sstream>int input=10;
//整型转为字符串
stringstream sss;
sss<<input;//将整型值给了stringstream
string strinput;
sss>>strinput;//将stringstream的值给了字符串
//字符串转为整型
stringstream iii;
iii<<strinput;//将字符串值给了stringstream
int copy=0;
iii>>copy;将stringstream的值给了整型cout<<strinput<<":"<<copy;
///out:10:10