Страница 1 из 1

WinInet и запись данных в файл

Добавлено: Вс янв 21, 2007 22:31
sadman
Есть небольшой участок кода, который должен коннектиться на сервер, и записывать какие-то данные в файл:

Код: Выделить всё

#include <windows.h>
#include <wininet.h>
#include <iostream>

using namespace std;

char c[100]; 
DWORD dw;
HINTERNET hInet, hFtpSession, hWriteFile;

int main()
{

hInet = InternetOpen("Internet Explorer", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);
if(!hInet)cout<<"NO InternetOpen\n";

hFtpSession = InternetConnect(hInet, ADRESS, INTERNET_DEFAULT_FTP_PORT, LOGIN, PASSWORD, INTERNET_SERVICE_FTP, 0, 0);
if(!hFtpSession)cout<<"NO FtpSession\n";

hWriteFile = FtpOpenFile(hFtpSession, "command.txt", GENERIC_WRITE, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_DONT_CACHE, NULL);
if(!hWriteFile)
{
wsprintf(c, "%d", GetLastError());
cout<<"NO FTP OPEN FILE: "<<c<<endl;
}
if(!InternetWriteFile(hWriteFile, "3", 2, &dw))cout<<"Can't write data"; 
return 0;
}
Программа заканчивается без ошибок, но файл на серваке остаётся пустым.
Кто-нить знает в чём тут трабла?

Добавлено: Пн янв 22, 2007 17:31
sadman
Трабла найдена. Кому интересно - в конце, перед return нужно закрыть сессию - InternetCloseHandle(hInet);