Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.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++ 如何从GetFile()获取特定的错误信息?_C++_C_Winapi_File_Ftp - Fatal编程技术网

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

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

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

谢谢。

GetLastError()如何?

根据它的GetLastError()

根据:

返回值 如果成功,则为非零

否则为0。如果调用失败,则 Win32函数GetLastError可能是 调用以确定故障原因 错误

返回错误代码,但可以调用以从错误代码中获取人类可读的字符串。下面是一个实用函数,它可以为您实现这一点:

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;
}