[英]array of wchar_t
我想有一个wchar_t的数组。
以下作品:
char** stringArray;
int maxWords = 3;
stringArray = new char*[maxWords];
stringArray[0] = "I";
stringArray[1] = " Love ";
stringArray[2] = "C++"
但事实并非如此
wchar_t ** wcAltFinalText;
wcAltFinalText = new wchar_t *[MAX_ALT_SOURCE]; // MAX_ALT_SOURCE = 4
wcAltFinalText[0] = L'\0';
wcAltFinalText[1] = L'\0';
wcAltFinalText[2] = L'\0';
wcAltFinalText[3] = L'\0';
我没有得到任何错误,但wcAltFinalText是一个糟糕的ptr
非常感谢任何帮助和评论。
您正在使用''
而不是""
,因此赋值wcAltFinalText[0] = L'\\0';
相当于wcAltFinalText[0] = 0;
wcAltFinalText[0] = L'\0';
L'\\0'
是一个宽字符文字,这是一个整数类型 - 上面的行对应
wcAltFinalText[0] = 0;
你想要的是一个字符串文字, L"\\0";
好吧,你只需将新创建的数组中的所有元素设置为空指针(因为L'\\0'
是“空字符”,而不是“空字符串”) - 您还期望什么? 您具有与此代码相同的效果:
wcAltFinalText[0] = 0;
wcAltFinalText[1] = 0;
wcAltFinalText[2] = 0;
wcAltFinalText[3] = 0;
并且Visual Studio将空指针显示为“bad ptr”,这意味着此指针后面没有数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.