读写文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

FILE * fp = NULL;
errno_t ret = fopen_s(&fp,w2s(strAppPath).c_str(), "rb");
if (ret)
{
OutputDebugString(_T("open active file failed."));
m_flag = 1;
return TRUE;
}
else
{
uint32_t length = 0;
size_t ret = fread(&length, 1, 4, fp);
if (ret != 4)
{
OutputDebugString(_T("read active file failed."));
m_flag = 1;
fclose(fp);
return TRUE;
}

char* pbuf = new char[length];
memset(pbuf, 0, length);
ret = fread(pbuf, 1, length, fp);
fclose(fp);
...
delete[] pbuf;
}

写入文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FILE * fp = NULL;
errno_t ret = fopen_s(&fp, w2s(strAppPath).c_str(), "wb");
if (ret)
{
OutputDebugString(_T("open active file for write failed."));
AfxMessageBox(_T("保存激活信息失败,请确认程序目录可写。"));
return;
}
else {
strInfo = w2s(str.GetBuffer());
int iRet = fwrite(strInfo.c_str(), sizeof(char), strInfo.size(), fp);
if (iRet != strInfo.size())
{
OutputDebugString(_T("write register info failed."));
AfxMessageBox(_T("保存激活信息失败,请确认程序目录可写。。"));
}
}
fclose(fp);