C++ 如何从GetFile()获取特定的错误信息?
如何从GetFile()获取特定的错误信息 谢谢。GetLastError()如何?根据它的GetLastError()根据: 返回值 如果成功,则为非零 否则为0。如果调用失败,则 Win32函数GetLastError可能是 调用以确定故障原因 错误 返回错误代码,但可以调用以从错误代码中获取人类可读的字符串。下面是一个实用函数,它可以为您实现这一点:C++ 如何从GetFile()获取特定的错误信息?,c++,c,winapi,file,ftp,C++,C,Winapi,File,Ftp,如何从GetFile()获取特定的错误信息 谢谢。GetLastError()如何?根据它的GetLastError()根据: 返回值 如果成功,则为非零 否则为0。如果调用失败,则 Win32函数GetLastError可能是 调用以确定故障原因 错误 返回错误代码,但可以调用以从错误代码中获取人类可读的字符串。下面是一个实用函数,它可以为您实现这一点: void GetFtpFile(LPCTSTR pszServerName, LPCTSTR pszRemoteFile, LPCTSTR
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();
}
仅供参考-对于winInet消息,必须指定特定模块:
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;
}