foxwb 发表于 2016-08-10 09:53

请教编程时字符定义方面的问题

各位在写代码时,如果遇到同时用上windows api和STL时,字符都用宽字符还是ANSI?Windows提倡用宽字符,可是在STL看来,宽字符似乎不是很有优势,并且很难掌控,举个例,就算能完全掌控wcout的人都不多吧。如果涉及到跨平台,宽字符似乎更难处理。在Linux下,有人说宽字符的优势也不明显,这是真的吗?

爻易 发表于 2016-08-10 11:51

32位处理器比8位处理器复杂,但32位处理器效率更高。更高的数据宽度是有优势的,加上统一编码(消除平台差异),这是历史前进的方向。:em17:

库函数不好掌握可以自己另写一套接口,这并不复杂,算法是一样的。

爻易 发表于 2016-08-10 12:02

尤其对使用中文的国家来说,更需要开发相应的针对大字符集的函数库,词法/语法解析都能用得上:lol

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

所以可以考虑重新写一套接口库:em02:

爻易 发表于 2016-08-11 08:14

另外,windos上标准库的宽字符是16位,lunix/9cc上的标准库宽字符则是32位,你想跨平台编译的话也得注意一下。

所以最好还是不用标准库的宽字符,自己另写跨平台的字符类型及相应接口反而更容易实现:hug:
页: [1]
查看完整版本: 请教编程时字符定义方面的问题