[英]C++ Convert int to wchar_t*
因此,我一直在嘗試將整數值轉換為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];
這段代碼可以在這里編譯,但也給我帶來了Doom的Not Responding錯誤。 對於我的理解,非常奇怪的是為什么這
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];
可以正常工作,並按預期顯示輸出“ hello123”。
知道為什么會這樣嗎?
我的項目中出現了一些與顯示的第一個代碼類似的事件(wcout部分除外),因此我想了解為什么它們會給我“無響應”狀態。
您代碼的主要問題是沒有為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;
}
這只是示例代碼,我假設在您的程序中您正在照顧內存分配和釋放
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.