簡體   English   中英

C ++將int轉換為wchar_t *

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM