Witam. Mam problem. Pobieram cała stronę internetową przez winapi i cały kod źródłowy trzymam w zmiennej. Mój problem wyglada następująco jaki kontener w WinApi nie bedzie tego traktowała jako text tylko zinterpretuje go normalnie i spróbuje wyświetlić na ekrania to samo co dana strona internetowa.
ok DZIEKI ale mam jeszcze problem nie wczytuje mi całej strony do bufora tylko jakies tam kawałki i przy setWindowText wyswietla mi tylko ostatnia część kodu.
case MSG_IO_SOCKET:
if( !WSAGETSELECTERROR(lParam) )
{
if( lParam == FD_READ )
{
char recvbuf[100000];
int recvbuflen = 100000;
int iResult = recv( g_gniazdko, recvbuf, recvbuflen, 0);
recvbuf[iResult]=0;
SetWindowText( (HWND)okno_kodZrodlowy, recvbuf);
}
}
Mój kod problem jest takie że zawartość buffora jest wyświetlana po kolei a chciał bym albo wszystko zostało wczytana na raz. Druga opcja wczytywać i dodawać do okna lecz funkcja SetWindowText zmienia calość textu a nie znalazlem w funkcji AppendWindowText :) która by mnie interesowała.
Odczyt się robi w pętli
do {
iResult = recv( g_gniazdko, recvbuf, recvbuflen, 0);
recvbuf[iResult]=0;
} while( iResult > 0 );
I w pętli sobie łącz wszystko odczytane w całość funkcją StringCchCat lub lstrcat (niezalecane).
Druga sprawa kto do pobrania kodu strony używa Socketów? Istnieje wszak WinINet (jak już się bawisz w WinApi) funkcje InternetOpenUrl, InternetReadFile itp. na pewno znajdziesz w Google.
Druga sprawa kto do pobrania kodu strony używa Socketów?
Wiesz podobne ćwiczenie było robione u nas na zajęciach więc muszę się stosować do zasad przedstawiono u nas połączenie sieciowe w WinApi i mamy zastosować coś podobnego. Dlatego chce zrobić to na podstawie kodu używanego na zajęciach.
Użyłem tej funkcji i mam problem w jakiej bibliotece znajduje się ta funkcja.W MSDN znalazłem że w Strsafe.h nie posiadam takiej funkcji szukam tej biblioteki i nie mogę znaleźć
Dodam jeszcze że używam DEV-C++