我想读取从 Windows 注册表导出的 .reg 文件。我发现 .reg 文件被编码为 Windows UNICODE 文件(我认为它是 UCS2-LE 编码的,因为前两个字节是 : FFFE
)。
所以我读文件是这样的:
fp = _wfopen(lpszRegFilePath, _T("r, ccs=UNICODE"));
if ( NULL == fp)
{
dwErr = ERROR_NOT_FOUND;
break;
}
szData = new WCHAR[8192];
ZeroMemory(szData, 8192);
fgetws(szData, 8192, fp);
//........
结果szData
如下:
_wfopen 可以识别 BOM 吗?如果是这样,为什么它只是忽略FFFE
BOM ?