c++,写文件地址冲突,请问怎么解决?

fansf2008 2016-10-31 07:32:29
int KrSystem::WriteParameterSettingToFile()
{

GetParameterSettingToFile("../TestData/ParameterSetting.dat", &WriteBuffer[0]);
return 0;
}

int KrSystem::GetParameterSettingToFile(char* pFileName, unsigned char * pDataBuffer)
{
char * p = new char[512];
memset(p, 0, 512);
memcpy(p, pDataBuffer, 512);
ofstream fout;
fout.open(pFileName, ofstream::binary);
if (m_sfile == NULL)
{
m_sfile = new std::fstream;
m_sfile->open(pFileName, ios::binary | ios::out);
if (!m_sfile->good())
{
LOG4CPLUS_INFO(root, "设置参数文件打开失败");
printf("打开设置参数文件失败\n");
m_sfile->close();
delete m_sfile;
m_sfile = NULL;
return -1;
}
m_sfile->write(p, 512);
if (!m_sfile->good())
{
LOG4CPLUS_INFO(root, "写入设置参数数据失败");
printf("写入设置参数失败\n");
m_sfile->close();
delete m_sfile;
m_sfile = NULL;
delete[] pDataBuffer;
*pDataBuffer = NULL;
delete p;
*p = NULL;
return -1;
}
m_sfile->close();
delete m_sfile;
m_sfile = NULL;

}
delete p;
*p = NULL;
return 0;
}
代码如上。前台调用了KrSystem::WriteParameterSettingToFile(),代码走在m_sfile->open(pFileName, ios::binary | ios::out)就崩溃了,不知道什么原因,
...全文
549 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fansf2008 2016-11-01
  • 打赏
  • 举报
回复

root是使用了开源log,定义如下,求解
ooolinux 2016-10-31
  • 打赏
  • 举报
回复
KrSystem::WriteParameterSettingToFile() 函数这么简单,只是调用了: GetParameterSettingFromFile ? 逻辑上说不过去

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧