C++に基づいてファイルの明文とバイナリの読み書きを実現する
2673 ワード
仕事中に大量のファイルの読み書き操作が含まれているので、ここで忘れておきます.ファイルの読み書きは主にC++のファイルフロー操作を利用する
明文の読み取りはここでは書かれていません.スペース、タブ、改行、中国語の文字などの理由で、明文の読み取りは便利な書き込みフォーマットを制定しなければならないので、明文の読み取りを容易にすることができません.
バイナリ書き込みは主に中間の関数フォーマットに注意し,変数名を置き換えるだけで便利である.
バイナリ読み取りと書き込みの差は多くなく、どのように書くかはどのように読むかです.
int xxx = 0;//
//
string strTemp = strFolder + ("xxx.xxx"); //
ofstream writeFile(strTemp, ios::out); //
if (writeFile.is_open())
{
writeFile << "xxx = " << xxx<< '
';//
//...
}
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();
}
バイナリ読み取りと書き込みの差は多くなく、どのように書くかはどのように読むかです.