读写文本文件

编写算法的时候经常会从文本中读取配置参数,这里写一篇文章记录读取文本文件的方法(使用流操作实现,c语言实现的方法,这里就先不做介绍,如果以后用到了,再写文章记录)。

1.头文件

#include <fstream>
如果使用string,还需要包含string类的头文件     
#include <string>

2.打开指定的文件

void open ( const char * filename,  
            ios_base::openmode mode = ios_base::in | ios_base::out );  
打开文件的方式:

ios::in输入(读),打开文件
ios::out输出(写),打开文件
ios::ate初始位置在文件尾
ios::app往文件末尾追加内容
ios::trunc如果文件存在,则先删除文件
ios::binary二进制方式打开文件
示例:

ifstream fin(filename, ios::in);
if (!fin.is_open())
{
	cout<<"[error] load "<<filename<<" file falied!"<<endl;
	return -1;
}
3.逐行读取内容

string strLine;
while(!fin.eof())
{
	getline(fin,strLine);
}
4.读文件示例
int read_file(string filename)
{
	ifstream fin(filename, ios::in);
	if (!fin.is_open())
	{
		cout<<"[error] load "<<filename<<" file falied!"<<endl;
		return -1;
	}
	string strLine;
	while(!fin.eof())
	{
		getline(fin,strLine);
		
		int ret = strLine.find(';');

		string image_name = strLine.substr(0,ret);
		string label_name = strLine.substr(ret+1,strLine.length()-ret);
		cout<<"data = "<<image_name.c_str()<<" ; label = "<<label_name.c_str()<<endl;

	}
	return 0;
}

5.写文件示例

int write_file(string filename)
{
	ofstream fout(filename,ios::out | ios::app);
	if (!fout.is_open())
	{
		cout<<"open/create "<<filename.c_str()<<" failed!"<<endl;
		return -1;
	}

	fout<<"123456"<<endl;

	fout.close();
	return 0;
}
6.int转string

#inlcude <strstream>
int int2string()
{
	int data = 123;
	string str_data;	
	strstream ss;
	
	ss<<data;
	ss>>str_data;
	cout<<str_data.c_str()<<endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值