I/O:
< ios> ios_base->ios
->< istream>(< ostream >,< streambuf>)
->< iostream>cin,(cout,cerror(无缓冲区),clog)
->< fstream>(ifstream,fstream,ofstream,filebuf)
->< sstream>(istringstream,stringstream)
常见的头文件:(输入输出),(参数化操纵器),(控制文件处理服务)
流对象:不允许复制或赋值
流状态的iostate:(bad,fail,eof,good(正常))
in.rdstate();//获取状态
in.clear()//清除状态
iomanip是用于操作C++输出的库(setprecision,setw)
cout<<setiosflags(ios::left);
cout.precison(5);
cout<<123.456<<endl;
cout.width(20);
cout.fill('*');
cout<<123.456<<endl;
cout<<setiosflags(ios::right);
cout.width(20);
cout.fill('*');
cout<<123.456<<endl;
cout<<fixed<<setprecision(3)<<123.456789<<endl;
return 0;
void testIfStream(){
ifstream fin;
fin.open("test.dat",ios::out);
if(!fin){
cout<<"文件打开失败,state="<<fin.rdstate()<<endl;
}else{
string str;
while(!fin.rdstate()){
getline(fin,str);
cout<<str<<endl;
}
fin.close();
}
}
void testOUtStream(string txt){
ofstream fout;
fout.open("test.dat",ios::out|ios::trunc);//ios::app
if(!fout){
cout<<"文件打开失败"<<endl;
}else{
fout<<txt;
fout.close();
}
}
void testFStream(){
fstream fs;
fs.open("test.dat",ios::out|ios::in);
}
math:
三角函数
双曲函数
指数和对数函数
幂函数
误差和伽马函数
舍入和余数函数(ceil,floor fmod trunc round rint)
int main(){
float f=2.3;//3.6 4.5 -1.3 -3.6 -4.5
const char*format="%.1f \t%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n";
printf("value\tround\tfloor\tceil\ttrunc\tfmod");
printf(format,f,round(f),floor(f),ceil(f),trunc(f),fmod(f,0.3));
//2.3 2.0 2.0 3.0 2.0 0.2
}
date:
系统时间和utc时间
int main(){
time_t now =time(0);
char*dt=ctime(&now);
cout<<"本地时间:"<<dt<<endl;
tm*gmtime=gmtime(&now);
dt=asctime(gt);
cout<<"UTC 时间"<<dt<<endl;
}
字符编码:
ASCll(一个字节)
ANSI编码—MBCS(多字节字符集)(每个国家不一样)
UTF8/16(网络传输标准编码)(推荐,跨平台好)
Unicode(UCS-2/UCS-4)(做映射)
GBK(GB2312/GBK18030)(中文编码)
BASE64(转码)
int main(){
wchar_t str[]=L"我是中国人";//L表示宽字符
cout<<"size of ="<<sizeof(str)<<endl;//24
return 0;
}