基于C++实现文件的明文和二进制读写

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_25923849/article/details/78269130

由于工作中涉及大量的文件读写操作,在这里备忘一下。
文件读写主要利用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();
    }

二进制读取跟写入差不多,怎么写就怎么读。

猜你喜欢

转载自blog.csdn.net/sinat_25923849/article/details/78269130