读入和写文件:
#include<fstream>
#include<iostream>
#include<string>
using namespace std;
int main(){
//读取文件
string s,filename;
ifstream inf("1.txt");//直接用完整名字读入
ifstream inf2;
//inf2.open(filename); //用open打开,名字可以为字符串
getline(inf,s); //用getline函数去读取文件
inf.close();
inf2.close();
//写入文件
ofstream out("out.txt",ios::app); //在末尾写入
if (out.is_open())
{
out << "This is a line.\n";
out << "This is another line.\n";
out.close();
}
return 0;
}
注意修饰符可以用:
ios::in | 为输入(读)而打开文件 |
ios::out | 为输出(写)而打开文件 |
ios::ate | 初始位置:文件尾 |
ios::app | 所有输出附加在文件末尾 |
ios::trunc | 如果文件已存在则先删除该文件 |
ios::binary | 二进制方式 |
字符串流
#include<sstream>
#include<string>
#include<iostream>
using namespace std;
int main(){
string s="abc",k;
//stringstream strm; // 创建自由的 stringstream 对象
stringstream strm(s); //创建存储 s 的副本的 stringstream 对象,其中 s 是 string 类型的对象
//cout<<strm.str()<<endl; //返回 strm 中存储的 string 类型对象
strm>>k;
cout<<k<<endl;
string s2="cde";
strm.str(s2);//更新strm流中字符串的值
strm.clear();//注意如果不用clear,那么下面的k就没有值
strm>>k;
cout<<k<<endl; //返回 strm 中存储的 string 类型对象
}