|
发表于 2007-2-28 15:44:03
|
显示全部楼层
Post by 蝙蝠无声
小弟第一次在C里接触unicode,遇到了个小问题,还望大家多指点
这是我写的代码:
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
int main(void)
{
wchar_t wstr[] = L"测试";
int fp;
wprintf(L"%ls\n",wstr);
fp = creat("unifile",0777);
write(fp, wstr, wcslen(wstr));
close(fp);
return 0;
}
编绎没问题,运行也没报错,可是用十六进制打开写入的文件却发现只写入了“测”的unicode码,为什么不是“测试"的unicode码呢?
wcslen这个函数我记得是报告字符个数的,你需要*sizeof(wchar_t)。 |
|