平时写代码经常会用到读写配置文件,或者输出到文件的需求,每次用到都要网上搜一下,这次准备自己整理记录一下常用的方式,加深印象希望以后可以不用再去搜帖子。
所用头文件:#include <fstream>,读取文件类型:ifstream;输出文件类型:ofstream。这两个类型很好记忆,一个是in+fstream=ifstream,一个是out+fstream=ofstream。
1、读取文件
以下为读取配置文件的代码,txt文本中对于各项配置按照一行一个项,每行用冒号标示。但是作为读取配置,只需要获取冒号后面的内容,故在每一行的读取中,使用find()函数查找到冒号的位置下标,再从这个位置往后开始读取。
ifstream in("mysqlConfig.txt");
string config[5];
string line;
int i_con = 0;
while (getline(in, line)) {
int index = line.find(":", 0);
if (i_con < 5)
{
config[i_con] = line.substr(index + 1);
i_con++;
}
}
in.close();
2、写入文件
以下为输出文件的代码,其中file_writer()是将文件原有内容清空,如果不加这一句会直接在原有基础上往下写。
std::string filename = "outfile.txt";
ofstream file_writer(filename, ios_base::out);
ofstream outfile(filename, ios::trunc);
outfile << "写入内容"<< endl;
outfile.close();
读取或写入完成后close()关闭文件。