C++ 在win prog函数中获取从tchar返回数组的函数
因此,在深入探讨这一点之前,我只是觉得我对C的了解(简单地说是0)会在与winapi打交道时再次被证明是痛苦的,我的问题是 安全地将函数返回为TCHAR数组的最实用的方法是什么,我基本上是枚举listview项,我当前将它们保存在txt文件中,现在我想将它们全部传递给数组,就像 //我现在有一个简单的版本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
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来支持这两个目标,但我认为他还没有做到这一点。