gpt4 book ai didi

c++ - 如何从 GetFile() 获取特定的错误信息?

转载 作者:搜寻专家 更新时间:2023-10-31 02:00:20 25 4
gpt4 key购买 nike

void GetFtpFile(LPCTSTR pszServerName, LPCTSTR pszRemoteFile, LPCTSTR pszLocalFile)
{
CInternetSession session(_T("My FTP Session"));
CFtpConnection* pConn = NULL;

pConn = session.GetFtpConnection(pszServerName);
//get the file
if (!pConn->GetFile(pszRemoteFile, pszLocalFile))
{
//display an error
}
delete pConn;
session.Close();
}

如何从 GetFile() 获取特定的错误信息?

谢谢。

最佳答案

根据 MSDN :

Return Value

Nonzero if successful;

otherwise 0. If the call fails, the Win32 function GetLastError may be called to determine the cause of the error.

GetLastError()返回错误代码,但您可以调用 FormatMessage()从错误代码中获取人类可读的字符串。这是一个实用函数,可以为您执行此操作:

std::string formatwinerr(unsigned long errCode)
{
LPVOID lpMsgBuf;

FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM ,
0,
errCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );

std::string ret((const char*)lpMsgBuf);

LocalFree(lpMsgBuf);

return ret;
}

关于c++ - 如何从 GetFile() 获取特定的错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2158438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com