2 zhuwt2008 zhuwt2008 于 2016.01.29 00:05 提问

为什么exception没有宽字符版本?还有很多类库也没有,使用wchar_t不是超级麻烦吗?

最近因为字符集的问题,搞来搞去总是有一些字符变成?号,想采用wchar_t替换原来的char,但是发现麻烦非常多,最郁闷的是一些类库的参数要求采用char*,连最平常的exception也不支持wchar_t,望众高手指教啊,用宽字符需要这么麻烦吗??比如那个OTL4,虽然声称支持宽字符,但是其中对象的参数,如连接字符串,SQL都要求传人char字符串,只是查询结果可以输出Unicode编码而已,这不让人郁闷吗?让函数支持一下宽字符版本有多难,为什么连OTL4被广泛采用的库都无视宽字符了,难道大家用它的时候都不用宽字符了,或者用宽字符都是将连接字符串,sql等转换char再用?用宽字符解决乱码不是很好的设想吗?用宽字符调用本来就只支持宽字符的windows api不是很好吗?为什么实现起来那么多麻烦事?真的需要这么麻烦吗??望高手指点迷津,或给个建议!

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.29 03:26
已采纳

你要分清楚,一些库是标准库,标准库必须安装标准来,不是微软或者哪家说了算的。一些库(windows api, mfc, qt, ...)不是标准库,怎么方便怎么来。

oyljerry
oyljerry   Ds   Rxr 2016.01.29 14:40

没有宽字符的,就只能自己在调用前后做一下转换。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!