由于工作中涉及大量的文件读写操作,在这里备忘一下。
文件读写主要利用C++的文件流操作
int xxx = 0;//需要输出的变量
//明文写入
string strTemp = strFolder + ("xxx.xxx"); //输出文件的路径和后缀完全自定义
ofstream writeFile(strTemp, ios::out); //输出
if (writeFile.is_open())
{
writeFile << "xxx = " << xxx<< '\n';//各种格式自定义
//...各种输出
}
writeFile.close();
明文读取就不在这里写了,因为空格,制表符,换行,中文字符等原因,明文读取需要制定方便的写入格式,才能方便的进行明文读取,请看官自己琢磨。
//二进制写入
int nTemp = xx; //需要写入的变量,类型无所谓
double dTemp = xx; //需要写入的变量,类型无所谓
//开始写入
string strFileOut = ("xxx.xxx");//输出文件路径
ofstream writeFile(strFileOut, ios::out | ios::binary);//二进制格式
if (writeFile.is_open())
{
writeFile.write((char *)(&nTemp), sizeof(nTemp));
writeFile.write((char *)(&dTemp), sizeof(dTemp));
writeFile.close();
}
二进制写入主要注意中间的函数格式,只要替换变量名字就好,十分方便。
//二进制读取
string strFileIn = ("xxx.xxx");
ifstream readFile(strFileIn, ios::in | ios::binary);//二进制读取
if (readFile.is_open())
{
int nTemp; //用于读取的变量
double dTemp; //用于读取的变量
readFile.read((char *)(&nTemp), sizeof(nTemp));
readFile.read((char *)(&dTemp), sizeof(dTemp));
readFile.close();
}
二进制读取跟写入差不多,怎么写就怎么读。