У меня есть следующий код, чтобы загрузить некоторые RSS файлы с серверов, но до сих пор я просто получаю неполную версию моего файла RSS код выглядит следующим образом. (?) -InternetReadFile не получает весь файл
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<string>
#include<cstring>
#include<wininet.h>
using namespace std;
const int _SIZE = 307200;
int WEB_GET_DATA(char* WEB_URL){
HINTERNET WEB_CONNECT = InternetOpen("Default_User_Agent",INTERNET_OPEN_TYPE_PRECONFIG,NULL, NULL, 0);
if(!WEB_CONNECT){
cout<<"Connection Failed or Syntax error";
return 0;
}
HINTERNET WEB_ADDRESS = InternetOpenUrl(WEB_CONNECT,WEB_URL, NULL, 0, INTERNET_FLAG_KEEP_CONNECTION, 0);
if(!WEB_ADDRESS){
cout<<"ERROR...\n";
return 0;
}
char _DATA_RECIEVED[_SIZE];
DWORD NO_BYTES_READ = 0;
while(InternetReadFile(WEB_ADDRESS,_DATA_RECIEVED,_SIZE,&NO_BYTES_READ)&&(NO_BYTES_READ)){
cout<<_DATA_RECIEVED;
}
InternetCloseHandle(WEB_ADDRESS);
InternetCloseHandle(WEB_CONNECT);
return 0;
}
int main(){
WEB_GET_DATA("http://themoneyconverter.com/rss-feed/AED/rss.xml");
getch();
return 0;
}
Я получаю только почти половину своего файла, но не с самого начала, но мой вывод, кажется, начинается где-то между файлом, а затем до конца. Итак, где я ошибаюсь? Я проверил, что мой rss-файл, по крайней мере, будет 30 КБ. Итак, я дал _SIZE const 307200 (300kb) и все еще не работает? Пожалуйста, помогите мне.
Ведения конвенции и стандарты в виде позволят легче читать и помогут вам получить лучшие ответы кода. Идентификаторы UPPER_CASE обычно относятся только к макросам, а идентификаторы, начинающиеся с подчеркивания в глобальной области, зарезервированы для использования компилятором. –
Хорошо, будем иметь в виду. Но можете ли вы помочь мне с моей проблемой? –