C++IO库
C++语言不直接处理输入输出,通过标准库来处理IO;处理起来比c语言更加简单快捷。
IO类有三种头文件:(IO标准流类) iostream (文件流类)fstream (串流类)sstream
文件流的文件模式:
1、 Int(以读的方式打开)
2、 out(以写的方式打开)
3、 app(每次操作都要定位到文件末尾)
4、 ate(打开文件后立即定位到文件末尾)
5、 trunc(截断文件)
6、 binary(以二进制读取文件)
注意:
指定文件模式原则
1、 只能对ofstream或者fstream对象设定out模式
2、 只能对ifstream或者fstream对象设定in模式
3、 只有当out被限定时才设定trunc
4、 ate和binary对象可用于任何类型的文件流对象,且与其他文件模式组合使用
5、 trunc没被设定,就可以使用app模式
示例代码如下:
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<iomanip>
using namespace std;
int main(){
//几种刷新缓冲区方法
/*cout<<"hi"<<endl;
cout<<"hi"<<flush;
cout<<"hi"<<ends;
cout<<unitbuf;
cout<<nounitbuf;*/
//文件流对文件的操作
//读取文件内容
ifstream fin;
fin.open("d://1234.txt");
char str[100];
fin.getline(str,100);
fin.close();
cout<<str<<endl;
//写入文件内容
ofstream ocout;
ocout.open("d://1234.txt");
ocout<<"Hello,mylove C++!";
ocout.close();
//以二进制读取文件
fstream in("d://1234.txt",fstream::in|fstream::binary);
in.getline(str,100);
in.close();
cout<<str<<endl;
//写入文件
fstream out("d://1234.txt",fstream::out|fstream::app);
out<<"Hello,mylove C++!12334445566.cc";
out.close();
//string流的使用
//方便的将类型转换
string str1="12.3242";
double num=0;
stringstream ss;
ss<<str1;//输入流中
ss>>num;//以整形从流中提取
num=num*3.12;
cout<<setprecision(10)<<num<<endl;
return 0;
}
(全文完)