保存utf-8文件
wstring strExport = L"要导出的文件内容";
CFile file;
if (!file.Open(strFileName, CFile::modeWrite | CFile::modeCreate))
{
return;
}
string str_out = "";
const unsigned char LeadBytes[] = { 0xEF, 0xBB, 0xBF };
file.Write(LeadBytes, sizeof(LeadBytes));
file.SeekToEnd();
str_out = CW2A(strExport.c_str(), CP_UTF8);
file.Write(str_out.c_str(), str_out.length());
file.Close();
保存为Unicode文件
const unsigned char LeadBytes[] = { 0xFF, 0xFE };
创建隐藏文件
// 第一步先创建文件
CFile file;
if (!file.Open(strFileName, CFile::modeWrite | CFile::modeCreate))
{
return;
}
file.Close();//创建文件后,要close
// 第二步修改文件属性
CFileStatus status;
CFile::GetStatus(strFileName, status);
status.m_attribute |= CFile::hidden;
CFile::SetStatus(strFileName, status);
改写隐藏文件
如果隐藏文件已经存在了,读取时没有任何问题的,若是覆盖写入,那么要先修改文件属性,然后再进行写入。
// 第一步修改文件属性
CFileStatus status;
CFile::GetStatus(strFileName, status);
status.m_attribute ~= CFile::hidden;
CFile::SetStatus(strFileName, status);
// 第二部步先创建文件
CFile file;
if (!file.Open(strFileName, CFile::modeWrite | CFile::modeCreate))
{
return;
}
......写入数据
file.Close();//创建文件后,要close
// 再执行第一步
CFileStatus status;
CFile::GetStatus(strFileName, status);
status.m_attribute |= CFile::hidden;
CFile::SetStatus(strFileName, status);