Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在win prog函数中获取从tchar返回数组的函数_C++_Winapi - Fatal编程技术网

C++ 在win prog函数中获取从tchar返回数组的函数

C++ 在win prog函数中获取从tchar返回数组的函数,c++,winapi,C++,Winapi,因此,在深入探讨这一点之前,我只是觉得我对C的了解(简单地说是0)会在与winapi打交道时再次被证明是痛苦的,我的问题是 安全地将函数返回为TCHAR数组的最实用的方法是什么,我基本上是枚举listview项,我当前将它们保存在txt文件中,现在我想将它们全部传递给数组,就像 //我现在有一个简单的版本 for (int nItem = 0; nItem < nMaxItems; nItem++) { // Get the name and position of a Li

因此,在深入探讨这一点之前,我只是觉得我对C的了解(简单地说是0)会在与winapi打交道时再次被证明是痛苦的,我的问题是

安全地将函数返回为TCHAR数组的最实用的方法是什么,我基本上是枚举listview项,我当前将它们保存在txt文件中,现在我想将它们全部传递给数组,就像

//我现在有一个简单的版本

for (int nItem = 0; nItem < nMaxItems; nItem++) {

      // Get the name and position of a ListView item.


   for ( int subitem = 1; subitem < columns; subitem++)
   {

   ListView_GetItemText(hWndLV, nItem, subitem, szName, _countof(szName));


   wprintf(L"%s, ", szName);


   }  
   wprintf(L"%s", "\n");
 }
for(int-nItem=0;nItem
解决语法和枚举不是一个问题,只是我想确保在将它转换到数组时,我做的一切都是正确的,如果我能以某种方式将它转换为wstr类型,那将是最好的,我该如何处理呢


我需要返回数组以与Autoit一起使用它(这让我担心,因为我不确定返回tchar数组时它是否正常工作,所以wstr可能会更好)

您使用的是wprint,这意味着您已经在使用unicode,或者您发现了一些真正错误的地方

首先,您应该决定要使用什么:ANSI还是UNICODE

如果您决定使用ANSI,则应使用printf调用替换wprintf调用,如下所示: printf(“%s”,szName); printf(“\n”)

如果您想使用unicode,您应该这样做: 在cpp文件中包括wchar.h

'wchar_t szName[200];//或者wszName,如果您希望在命名上保持一致

ListView_GetItemTextW(hWndLV、nItem、子项、szName、_countof(szName));//请注意W,它明确表示unicode


wprintf(L“\n”);//或wprintf(L“%s”,L“\n”);如果您坚持使用%s'

,并且希望能够以系统的方式针对这两个目标,那么他也可以使用TCHAR来支持这两个目标,但我认为他还没有做到这一点。