ChinaUnix.net
相关文章推荐:

char*转 wchar*

wchar_t是否像其它多字节整形(如int)存在字节序(big-endian || little-endian)的问题? 如果存在此问题,当需要在不同字节序的机器上通过网络传输字符串信息时,如何处理?

by tyc611 - C/C++ - 2008-05-06 23:27:06 阅读(1401) 回复(0)

相关讨论

Hello,各位。 我发现wchar_t这个类型,在vc7.0中,sizeof为2,但是在gcc中,却为4,何解?

by j_john - C/C++ - 2004-04-30 15:20:40 阅读(1455) 回复(5)

在WIN上wchar_t是2个字节 Linux上是4个字节 gcc 有选项-fshort-wchar 把wchar_t 编译成2个字节 但用着怎么有问题呢? test.cpp #include #include #include #include #include using namespace std ; int main() { wchar_t *wcs = L"this"; char a_szDest[50] ; int count = wcstombs(a_szDest,wcs,50) ; printf("sizeof(wcha...

by 迷離 - C/C++ - 2009-01-09 10:12:07 阅读(6541) 回复(10)

初学C++,近日在看C++ primer 3ed,对3.1节的wchar_t的介绍有疑惑。书中说wchar_t是用于特殊语言集的,如汉字等。我觉得可能是对unicode的支持。遍了一个小程序测试一下,产生了问题。 书中介绍用引用wchar_t字符要在字符前加L。下面是我的2个程序,对有L和没有L出不同。 [program 1] #include ; using namespace std ; const wchar_t wchar_c = 'W' ; int main (int argc , char **argv) { wchar_t a ; c...

by gbunix - C/C++ - 2004-03-09 16:25:08 阅读(1098) 回复(0)

我在写一个希望移植的东东,现在是在win32下,里面涉及到文件操作,但是我没发现linux下提供了什么支持wchar_t*的文件打开操作,难道是都转换成utf8的?我对此很模糊,请高人指点一下,谢谢

by Solidus - C/C++ - 2007-09-10 16:54:24 阅读(6145) 回复(20)

各位前辈,请问 wcout 输出 wchar_t 字符串的具体工作过程是什么样的? 我正在调试我的 win2k/mingw 环境下 STLport 中的 wcout ,现在 wcout 输出中文 wchar_t 字符串乱码。 我用 gdb 调试发现 wcout 输出 wchar_t 字符串时,先调用 codecvt 把 wchar_t 字符串转换成 char 字符串,然后输出 char 字符串。但是在我的 mingw 环境中转换中文时好像不对。 :-( [ 本帖最后由 zhujiang73 于 2006-11-15 11:28 编辑 ]

by zhujiang73 - C/C++ - 2006-11-15 11:13:39 阅读(3790) 回复(1)

驱动程序中要用到关于宽字符处理的函数,目前存在如下问题: 1)用到了wcslen(),wprintf等函数,需要重写这些函数吗? 2) gcc glibc的源码中没有这些函数的原代码,哪里可以找到呢?

by wuiiszsu - 内核/嵌入技术 - 2006-10-16 17:41:29 阅读(614) 回复(0)

如题 我看好像是占4个字节 windows下是两个字节啊

by supeiwang - 程序开发 - 2006-01-18 17:06:47 阅读(1354) 回复(1)

那位老大能给讲解一下国际化文字行wchar_t,提供资料也可以(最好有简单的例子代码),感激不尽 还有想问一下,在redhat9里面是是否自动转换 我试了一下 char a*="我是中国人"; printf("%s",a); 可以打印出来 我要做成使用wchar_t类型的应该怎么写 使用wprint输出

by jiutiao2004 - C/C++ - 2004-06-18 17:14:53 阅读(1387) 回复(7)

我的系统是debian4 etch, locale -a 显示 C POSIX zh_CN.utf8 然后我写了个小程序 #include int main(){ wchar_t buf[]=L"abc" FILE* pf=fopen("./here.txt","w"); fwrite(buf,sizeof(buf),1,pf); fclose(pf); return 0; } gcc之然后执行a.out得到here.txt >cat here.txt (这个文件是没有行结束符的) abc> >vi here.txt然后2进制方式 6100 0000 6200 0000 6300 0000 0000 0000 0000 a...b...c....... 000a ...

by jeanlove - C/C++ - 2008-10-25 11:27:04 阅读(8380) 回复(19)
by brooks_shenzhen - C/C++ - 2006-03-19 17:02:33 阅读(7157) 回复(5)