首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

text编码格式变换

2012-10-15 
text编码格式转换现在想编程实现把txt格式的文件的编码由unicode转化为ANSI,我知道用另存为可以改变编码格

text编码格式转换
现在想编程实现把txt格式的文件的编码由unicode转化为ANSI,我知道用另存为可以改变编码格式,但是我想编程实现这个功能。

[解决办法]
WideCharToMultiByte
MultiByteToWideChar

Unicode 档头 = 0xfeff
[解决办法]
用local和iconv都可以实现,这里给个用法参考:

C/C++ code
#include <stdio.h>#include <stdlib.h>#include <locale.h>#define WSTR_LEN    5int main(int argc, char* argv[]){    wchar_t wstr[WSTR_LEN] = {0x67e5, 0x770b, 0x8be6, 0x60c5, 0x00bb};    wchar_t wc;    char mbs[MB_CUR_MAX + 1];    int num;    int i;    setlocale(LC_CTYPE, "");    for(i = 0; i < WSTR_LEN; i++)    {        wc = wstr[i];        num = wctomb(mbs, wc);        mbs[num] = '\0';        printf("%s\n", &mbs[0]);    }    return 0;} 

热点排行