Napisałem program który ściąga plik tekstowy ze strony www , ale przez pożadanym tekstem jest nagłówek http. Jak go wywalić i przesunąć cały tekst o tyle znaków ile miał nagłówek ? ( czy też do początku tablicy znakowej )
Używam winsock, a w funkcji recv , miejscem do którego "płyną" znaki musi być tablica znakowa ( ze stringiem bym sobie poradził ) Więc jak wywalić ten nagłówek z tablicy znakowej ?
0
0
char *koniecNaglowka = strstr(twojeDane, "\r\n\r\n");
if(koniecNaglowka)
{
koniecNaglowka += 4; // zeby ominac \r\n\r\n przy kopiowaniu
size_t dataLen = strlen(koniecNaglowka);
memmove(twojeDane, koniecNaglowka, dataLen);
}
else
{
// niekompletna lub bledna odpowiedz serwera
}
Możliwe że ten kod nawet działa. W każdym razie zarys przedstawiłem.
0
niech to Ci da do myslenia:
char * napis = "mama tata dziadek wujek";
char * tmp = napis + 10;
cout << tmp;
0
hmm, ale wielkość nagłówka nie jest stała... ten mój program stosuję nie do konkretnej strony tylko tak w ogóle, wiem że nagłówek kończy się na "\13\10\13\10" ....
0
juz ci odpowiedzieli. znajdz '\r\n\r\n' przesun jeszcze wskaznik o te 4 bajty i gotowe
0
DragMZ@
Dzięki, twój kod działa :)
hmm, jednak nie działa ten kod co mi podałeś ..