Unicode字符集下WriteFile中文处理
来源:互联网 发布:win10视频桌面软件 编辑:程序博客网 时间:2024/04/30 09:42
最近在使用WriteFile函数时发现,vc2008中unicode字符集下处理中文乱码的一些解决方法,归纳如下
1. 写入的时候采用多字节char类型
HANDLE hFile; DWORD nBytes; hFile=CreateFile(_T("test.txt"),GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,0,NULL); char msg[]="我是我的我"; if(hFile!=INVALID_HANDLE_VALUE) { WriteFile(hFile,msg, sizeof(msg) ,&nBytes,NULL); CloseHandle(hFile); }
HANDLE hFile; DWORD nBytes; hFile=CreateFile(_T("test.out"),GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,0,NULL); WCHAR msg[]=L"我是我的我"; if(hFile!=INVALID_HANDLE_VALUE) { WORD a=0xFEFF; WriteFile(hFile,&a,sizeof(a),&nBytes,NULL); WriteFile(hFile,msg, lstrlen(msg) * sizeof(TCHAR),&nBytes,NULL); CloseHandle(hFile); }
HANDLE hFile; DWORD nBytes; hFile=CreateFile(_T("test.out"),GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,0,NULL); WCHAR msg[]=L"我是我的我"; if(hFile!=INVALID_HANDLE_VALUE) { char buf[sizeof(msg)]; setlocale(LC_ALL, ".936"); wcstombs(buf, msg, sizeof(msg)); WriteFile(hFile,buf, sizeof(buf),&nBytes,NULL); CloseHandle(hFile); }//hFile=CreateFile(_T("test.txt"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_ALWAYS,0,NULL);if(hFile!=INVALID_HANDLE_VALUE){ WCHAR line[256]={0}; BOOL bResult; bResult=ReadFile(hFile,line,sizeof(line),&nBytes,NULL); if(nBytes!=0) { printf("%s\r\n",line); } CloseHandle(hFile);}
4. 使用WideCharToMultiByte转换成多字节
(省略)
0 0
- Unicode字符集下WriteFile中文处理
- Vc2008中Unicode字符集下WriteFile中文处理
- CStdioFile在UNICODE字符集下读写中文
- 解决UNICODE字符集下CStuioFile无法写入中文
- 解决UNICODE字符集下CStuioFile无法写入中文
- VS2010控制台应用程序Unicode字符集下准确输出中文
- CJK Unicode Table ( UNICODE中文字符集 )
- Linux下MySql的中文乱码处理-修改字符集
- unicode处理中文
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题
- Unicode字符集下CString与char *转换 (解决中文乱码等)(转)
- 解决UNICODE字符集下CStdioFile的Writestring无法写入中文的问题//setlocale
- Unicode字符集下CString与char *转换 (解决中文乱码等)
- 动手学Android之四——布局初步(一)
- poj 1035 Spell checker
- spring - constructor-arg 的使用
- js判断是否为IE浏览器
- alsjkdsjfsgdfkryk
- Unicode字符集下WriteFile中文处理
- 收到货发动机和积分换个
- SupremeWord进度33.1%
- 不root权限的情况在用adb打开databases
- 位域(Bit Field)
- Python快速学习08:模块的操作
- 双色球算法
- winform 时间控件显示 时分秒
- JavaWeb hibernate3.0 tomcat7 诡异的问题 已解决