[winsock] naglowki http

0

Witam,

potrzebuje pomocy z winsock, a konkretnie - napisalem program sciagajacy pliki z serwera z uzyciem winsocka, problem lezy w naglowkach pliku, mianowicie mam problem z usunieciem ich..

bool wywalNaglowki(char* nazwa)
{
fstream plik;
plik.open(nazwa,ios::binary|ios::in);
if(!plik) return false;
plik.seekg(0,ios::end);
int dl=plik.tellg();//rozmiar pliku
plik.seekg(0,ios::beg);
char* buf=new char[dl];
plik.read(buf,dl);
plik.close();

bool zn=false;int poz=0;
for( poz=0;poz<dl-4;poz++)      
        if((buf[poz]==13)&&(buf[poz+1]==10)&&(buf[poz+2]==13)&&(buf[poz+3]==10)){
                zn=true;break;
                }
if(zn==false) {
        delete [] buf;
        return false;
        }

plik.open(nazwa,ios::binary|ios::out);
plik.write(&buf[poz+4],dl-poz-4);
plik.close();
delete [] buf;

return true;
}

funkcja pochodzi stad: http://codemaker.ovh.org/show.php?kategoria=sockets&id=60
nawet dziala, tylko szkoda ze jej nie rozumiem..;potrzebuje przepisac ja na C

thnx z gory..

0

Nagłówek http kończy się znakami \13\10\13\10 i nawet zwyczajne strstr go znajduje.
Ale, lepiej wyłapywać linia po linii i rozdzielać każdą linię na pierwszej spacji, a wynik podziału wstawić do dictionary.

0

dzieki; pomogl mi ten admin z codemaker.

http://nukedclx.info/projects/dlfile/

tylko ta funkcja troche tnie ( nie wiem dlaczego; prawdopodobnie zle ustawienia gniazdka )

1 użytkowników online, w tym zalogowanych: 0, gości: 1