Chinaunix
标题:
请教编程时字符定义方面的问题
[打印本页]
作者:
foxwb
时间:
2016-08-10 09:53
标题:
请教编程时字符定义方面的问题
各位在写代码时,如果遇到同时用上windows api和STL时,字符都用宽字符还是ANSI?Windows提倡用宽字符,可是在STL看来,宽字符似乎不是很有优势,并且很难掌控,举个例,就算能完全掌控wcout的人都不多吧。如果涉及到跨平台,宽字符似乎更难处理。在Linux下,有人说宽字符的优势也不明显,这是真的吗?
作者:
爻易
时间:
2016-08-10 11:51
32位处理器比8位处理器复杂,但32位处理器效率更高。更高的数据宽度是有优势的,加上统一编码(消除平台差异),这是历史前进的方向。
库函数不好掌握可以自己另写一套接口,这并不复杂,算法是一样的。
作者:
爻易
时间:
2016-08-10 12:02
尤其对使用中文的国家来说,更需要开发相应的针对大字符集的函数库,词法/语法解析都能用得上
作者:
karma303
时间:
2016-08-10 13:46
帮顶~~~
作者:
karma303
时间:
2016-08-10 13:47
一直没感觉到宽字符的存在呀,linux下都是utf8呀。
作者:
foxwb
时间:
2016-08-10 13:54
回复
5#
karma303
没那么简单,其实实际情况复杂多了。如果代码里有中文,由于文件字符编码不同,即使把一个很小的代码放到windows下面去编译,可能编译都通不过
作者:
foxwb
时间:
2016-08-10 13:56
回复
2#
爻易
正因为是大趋势,所以才考虑宽字符的问题。在STL里,宽字符似乎处理起来比较麻烦,特别是在处理流时,感觉特别麻烦。
作者:
爻易
时间:
2016-08-11 07:45
回复
7#
foxwb
所以可以考虑重新写一套接口库
作者:
爻易
时间:
2016-08-11 08:14
另外,windos上标准库的宽字符是16位,lunix/9cc上的标准库宽字符则是32位,你想跨平台编译的话也得注意一下。
所以最好还是不用标准库的宽字符,自己另写跨平台的字符类型及相应接口反而更容易实现
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2