NetFileEnum and C++

NetFileEnum and C++

本文关键字:C++ and NetFileEnum      更新时间:2023-10-16

我一点也不懂c++。但是我正在尝试稍微改变一个c++项目,这个项目是某人创建的,它可以显示谁在网络上打开了哪些文件。

经过一些工作,使它与最新的vs一起工作后,该项目完美地工作了。

列表框中填充了路径和用户名。路径由路径和以filename结尾的路径组成。例如

(刚刚编辑了这行,漏掉了末尾的)

C:

工作数据

C: Data 工作Accounting.xls

我遇到麻烦的改变是我想添加一个If语句,而它的加载列表框,而不是加载任何以""结尾的路径名。因此,列表框最终只显示文件的实际路径。在上面的例子中,它不会添加第一个路径到列表框,而会添加第二个路径。

下面是除If语句外正常工作的代码片段。我在处理字符串,文字,LPCTSTR, wchar等方面遇到了麻烦:)

typedef std::basic_string<TCHAR> tstring;
dwStatus = NetFileEnum((LPWSTR) ((LPCTSTR) strServer), NULL, NULL, 3, (LPBYTE *) &pBuffer, MAX_PREFERRED_LENGTH, &dwReadEntries, &dwTotalEntries, NULL);
if (NERR_Success == dwStatus)
{
    for (dwIndex = 0, pCurrent = pBuffer; dwIndex < dwReadEntries; dwIndex++, pCurrent++)
    {
        tstring mystring = pCurrent->fi3_pathname;
        //MessageBox(mystring.c_str()), NULL,MB_OK);
        if (mystring[mystring.length() -1] != L''')
        {
            nItem = m_lcFiles.InsertItem(dwIndex, pCurrent->fi3_pathname);
            m_lcFiles.SetItemText(nItem, 1, pCurrent->fi3_username);
        }
    }
    NetApiBufferFree(pBuffer);
}

啊,我想这是我们的。字符是一个特殊字符,当然是转义序列。所以我必须比较""

现在工作,谢谢!