毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

linux下wchar_t中文乱码

更新时间:2012-5-22:  来源:毕业论文

定义了wchar_t name[] = L"中文名" wchar_t sex[] = L"男"
wchar_t nation[] = L"汉族",然后想从文件abc.txt中读取这些汉字分别赋值给name 、 sex 和 nation,
试了好几次结果都是乱码,希望各位大神帮忙解决下。急用,小弟感激不尽!


PS:abc.txt内容格式为:中文名 男 汉族····
linux的wchar是4字节,和VC的不一样

一般linux下搞多语言极少用wchar,一般是utf-8,这样用char就可以

Qt用utf-16,也不是wchar,而是用short模拟的

只有Windows下才普遍使用wchar 
struct id_card_information ici;
wchar_t name[] = L"小明";
memcpy(ici.name,name,sizeof(name));
wchar_t sex[] = L"男";
memcpy(ici.sex,sex,sizeof(sex)-4);
wchar_t nation[] = L"汉";
memcpy(ici.nation,nation,sizeof(nation)-4);
wchar_t birthyear[] = L"1980";
memcpy(ici.birthyear,birthyear,sizeof(birthyear)-4);
wchar_t birthmonth[] = L"06";
memcpy(ici.birthmonth,birthmonth,sizeof(birthmonth)-4);
wchar_t birthday[] = L"16";
memcpy(ici.birthday,birthday,sizeof(birthday)-4);
wchar_t address[] = L"福建省龙岩市";
memcpy(ici.address,address,sizeof(address));
wchar_t idnumber[] = L"3800000202000000";
memcpy(ici.idnumber,idnumber,sizeof(idnumber)-4);
wchar_t issue[] = L"龙岩市";
memcpy(ici.issue,issue,sizeof(issue));
wchar_t enabletime[] = L"2007.11.02-2017.11.02";
memcpy(ici.enabletime,enabletime,sizeof(enabletime));


具体来说就是从abc.txt中读取那些汉字字段对wchar_t进行赋值,达到和上面一样的效果。
改了好几次都没能改成功。。。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。