0
我在GBK编码的file.txt的,我通过阅读ifstream::read
一些字节,并将它们存储到char
缓冲区,然后我想打印在gbk
在缓冲区中的每一个字。转换的char *至* wchar_t的
我认为wchar_t
这里所需要的,所以我不喜欢这样写道:
int main()
{
ifstream ifs("./file.txt");
char buf[256];
ifs.read(buf, 255);
wchar_t wbuf[256];
mbstowcs(wbuf, buf, 255);
for (int i = 0; i < wcslen(wbuf); i++)
wprintf(L"%c ", wbuf[i]);
}
我这样做对吗?或者有更好的想法来完成这项工作?
谢谢。
固定标签。这是C++代码,而不是C. – 2012-07-29 05:29:26
您需要一个外部库,例如'iconv'来将GBK转换为有用的东西(如WCHAR)。 – 2012-08-13 19:18:14