C 的方式
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; }
|
写入文件
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);
|