2024年3月9日发(作者:)

VC逐行读写文件(.TXT)

时间:

2010-02-05 16:22

来源:

未知

作者:

zzl

点击:

1973次

用流在写日志时,发现如果把"rn"直接写在字符串的尾部,则会造成乱码,其

中的原因网上有很多说明,主要是标准库与WINDOWS的回车换行的机制略有差

别。但只要写到另一行重起就没有

用流在写日志时,发现如果把"rn"直接写在字符串的尾部,则会造成乱码,其

中的原因网上有很多说明,主要是标准库与WINDOWS的回车换行的机制略有差

别。但只要写到另一行重起就没有问题了。

/********************************************************************

*********

* 写入日志文件-C++标准版(UNICODE)

* 函 数 名:WriteLogTxt

* 功 能 写入日志

* 说 明:

* 参 数:

* 创 建 人:fjf

* 创建时间:2009-09-10

* 修 改 人:

* 修改时间:

*********************************************************************

********/

bool CConLog::WriteLogTxt(CString time, CString value)

{

//定义写入字符数组

CString tmp = time + value;

//定义输出流

ofstream oFile;

(m_fer(MAX_PATH),ios::app|ios::binary);

(0,ios::end);//回到文件末尾

//写入文件流

if (_open())

{

//下面蓝色部分解决了CHAR[]写入的问题,不用再做拷贝了,增加了安全性

(fer(gth()), gth());

(_T("rn"), 2); //写在一起会产生乱码

}

else

{

();

return false;

}

();

return true;

}

/********************************************************************

*********

* 写入日志文件

* 函 数 名:WriteLogTxt

* 功 能 写入日志

* 说 明:

* 参 数:

* 创 建 人:fjf

* 创建时间:2009-09-09

* 修 改 人:

* 修改时间:

*********************************************************************

********/

bool CConLog::WriteLogTxt(CString key, CString time, CString value)

{

//读写文件全名

if (m_sFullName == _T(""))

{

AfxMessageBox("请设置日志保存路径!");

return FALSE;

}

//操作文件

try

{

this->m_(m_sFullName,CFile::modeCreate |

CFile::modeNoTruncate | CFile::modeWrite);

m_End();

this->m_tring(time + _T("rn"));

this->m_tring(value + _T("rn"));

this->m_();

}

catch (CFileException &e)

{