所以我一直在尝试将整数值转换为wchar_t *。这是我运行的测试,所以我可以尽可能地简化它。
int test=123;
wchar_t *testc[12][12];testc[0][0]=L"hello";
_itow(test,testc[0][0],10);
wcout<<testc[0][0];
这里的代码编译但也给了我厄运的无响应错误。 我理解的非常奇怪是为什么这个
int test=123;
wchar_t *testc[12][12];testc[0][0]=L"hello";
_itow(test,testc[1][0],10);
wcout<<testc[0][0]<<testc[1][0];
没有任何问题,并显示输出&#34; hello123&#34;正如预期的那样。
知道为什么会这样吗?
我的项目有一些类似于显示的第一个代码(除了wcout部分),因此我想了解他们为什么给我Not Responding状态。
答案 0 :(得分:0)
您的代码的主要问题是没有为testc [1] [0]分配内存。 此外,最好使用标准的c ++函数,如std :: to_wstring而不是_itow。
以下是您的问题的示例代码:
int main()
{
int test=123;
wchar_t *testc[12][12];
testc[0][0]=L"hello";
testc[1][0] = new wchar_t[4];
std::wstring temp = std::to_wstring(123);
for(int i=0;i<temp.length();i++)
{
testc[1][0][i] = temp[i];
}
wcout<<testc[0][0]<<testc[1][0];
return 0;
}
这只是示例代码,我在您的程序中假设您正在处理内存分配和释放