title: Issue with Int to LPWSTR function
body: <p>I am making a win32 program that is a level editing tool to go with the library I am creating for a 2D tile system.</p>
  
  <p>I want to create dialog box displaying the maps properties when the user selects it from the menu. This means a conversion from int to a wchar_t array. I have created a function that I hoped would do this. However currently it just returns a blank string that the return variable is initialized as. This conversion is necessary to work with the SetDlgItemText() function called by the map properties dialog box.</p>
  
  <p>Here is the function I have currently:</p>
  
  <pre><code>LPWSTR IntToLPWSTR(int value)
  {
      std::ostringstream  convert;
      std::string         out;
  
      convert &lt;&lt; value;
      out = convert.str();
  
      const char*             in;
      in = out.c_str();
  
      LPWSTR ret = L"";
      MultiByteToWideChar(CP_ACP, MB_COMPOSITE, in, strlen(in), ret, wcslen(ret));
  
      return ret;
  }
  </code></pre>
  
  <p>It is being called from here:</p>
  
  <pre><code>    case WM_INITDIALOG:
          if (mapToEdit)
          {
              SetDlgItemText(hDlg, IDC_TILE_WIDTH_LBL, IntToLPWSTR(mapToEdit-&gt;TileWidth()));
              SetDlgItemText(hDlg, IDC_TILE_HEIGHT_LBL, L"");
              SetDlgItemText(hDlg, IDC_MAP_WIDTH_LBL, L"");
              SetDlgItemText(hDlg, IDC_MAP_HEIGHT_LBL, L"");
          }
          else
          {
              EndDialog(hDlg, LOWORD(wParam));
              MessageBox(hWnd, L"You must create a map first", L"Error", 1);
          }
  </code></pre>
  
  <p>Map to edit is simply a pointer to my own map class that contains the properies I want to display. The bottom three calls to SetDlgItemText() pass L"" as their string, the intention is that they will also use the function when it works.</p>