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; }