Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

7.5K
21 января 2007 года
sadman
45 / / 21.01.2006
Есть небольшой участок кода, который должен коннектиться на сервер, и записывать какие-то данные в файл:
Код:
#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;
}

Во время выполнения ошибок нет. но файл на серваке остаётся пустым.
Кто-нибудь знает в чём тут трабла?
3.3K
22 января 2007 года
GENA_DJ
123 / / 08.03.2005
Попробуйте закрыть файл корректно. Когда программа завершает работу (return 0), автоматически рвется коннект к серверу, и, возможно, в этом случае, сервер делает rollback.
7.5K
22 января 2007 года
sadman
45 / / 21.01.2006
Спасибо большое! Проблема действительно а этом! Добавил в конец InternetCloseHandle(hInet) и фсё заработало!
Спасибо еще раз
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог