C++ мой код не загружает файл на FTP-сервер
в коде нет ошибки, я устал много способов исправить ее, но она просто не работает. информация о сервере верна его подключению на filezilla. но моя программа закрыта, хотя я не набрал return 0... что бы здесь ни было исходным кодом, я сделал много небольших изменений после версии thgis, но все еще не работает.
[^]
#include <Windows.h> #include <wininet.h> #include <iostream> #pragma comment(lib, "Wininet") using namespace std; void FileSubmit() { HINTERNET hInternet; HINTERNET hFtpSession; hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); if (hInternet == NULL) { cout << "Error: " << GetLastError(); } else { hFtpSession = InternetConnect(hInternet, "XXX", INTERNET_DEFAULT_FTP_PORT, "XXX", "XXX", INTERNET_SERVICE_FTP, 0, 0); if (hFtpSession == NULL) { cout << "Error: " << GetLastError(); } else { if(FtpPutFile(hFtpSession, "C://Users//Elliot//Desktop//file.txt", "file.txt", FTP_TRANSFER_TYPE_BINARY, 0)); } } } int main() { FileSubmit(); }
Примечание: информация сервера цензурирована
Что я уже пробовал:
простые изменения в коде
я проверил брандмауэр
я попытался подключиться через filezilla на сервер
jeron1
Вы пробовали пройти через код с помощью отладчика?
Member 12778141
он закрывается сам, не дожидаясь шага ... и я новичок в использовании отладчика, я был бы рад, если бы вы могли мне помочь.
jeron1
Это зависит от используемой среды разработки, например, следующая ссылка будет полезна для Visual Studio 2010. Освоение отладки в Visual Studio 2010 - руководство для начинающих[^] Кроме того, что вы хотите сделать, если FtpPutFile() возвращает false?
Member 12778141
я использую VS 2015, но они должны быть почти одинаковыми, я думаю. я посмотрю на него, спасибо.
jeron1
Это действительно одна из самых важных вещей, которые вы можете узнать. Установите точку останова в вызове InternetOpen (), затем пройдите через каждую из следующих строк, проверяя значения переменных, входящих в вызовы функций, возвращаемые значения из вызовов функций и т. д.