关于网友提出的“ 一个看似简单而又不简单的问题”问题疑问,本网通过在网上对“ 一个看似简单而又不简单的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 一个看似简单而又不简单的问题
描述: 在VC++定义一个Unicode字符串可以按如下方式定义:
(1)wchar_t ws[]=L"Hi!";
(2)unsigned short ws[]=L"Hi!";
这需要编译器能够对L处理,但如果编译器不支持L"Hi!"这种方式,如何在标准C中实现这一简单功能呢?
也就是定义一个可变大小的unsigned short数组,让编译器分配内存,我想到的一种笨方法:
#define WIDESTRING1(s) {s[0],0}
#define WIDESTRING2(s) {s[0],s[1],0}
#define WIDESTRING3(s) {s[0],s[1],s[2],0}
.....................................
#define WIDESTRINGN(s) {s[0],...,s[N-1],0}
这样定义,N肯定要限定在一定范围内,使用时就更麻烦了,还要知道字符串到底多长。
最好使用宏命令解决,而不要使用函数的方式实现,因为那样就不必问这个问题了。
以上介绍了“ 一个看似简单而又不简单的问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3018413.html