使用C++实现UNICODE文本读写
使用C++实现UNICODE文本读写
写入Unicode文本
范例:
void write_unicode()
{
// 写入 Unicode 内容
TCHAR* recordfilename=_T("自然_井民全_练习项目1.mp3");
// 开启文件: (注意: 要用 wb 不能用 wt)
// 请放心! 写入后还是可以用 Notepad 看到内容(This is a Unicode document file)
FILE *fp=_tfopen(_T("RecordInfo_API.txt"),_T("wb"));
if(fp!=NULL)
{
// Step 1: 写入 Unicode 档头, 标明这是 Unicode 檔 (关键片段)
unsigned char u[2]={0xff,0xfe}; // Unicode 档头 = 0xfeff
fwrite(u,2,1,fp);
// Step 2: 写入真正 Unicode 数据
_ftprintf(fp,_T("Record_Filename=%s\n"),recordfilename);
// Step 3: 关档写入
fclose(fp);
// Step 4: 请用 NotePad 看看内容
}
else
{
::MessageBox(NULL,_T("录音信息文件建立失败"),_T("Error"),MB_OK);
}
}
读取Unicode文本
范例:
void read_unicode()
{
TCHAR recordfilename[256];
// 开启文件: (注意: 要用 rb 不能用 rt)
FILE *fp=_tfopen(_T("RecordInfo_API.txt"),_T("rb"));
if (fp!=NULL)
{
// (关键片段)
// Step 1: 先读取 0xfffe (你也可以跳过 2 bytes)
char unicodeheader[2];
fread(unicodeheader,2,1,fp);
// Step 2: 真正读取 Unicode 内容
_ftscanf(fp,_T("Record_Filename=%s\n"),&recordfilename);
fclose(fp);
}
}