Skocz do zawartości

Buforek :)


Gering

Recommended Posts

Mam sobie taki buforek

  LPSTR Bufor;

I po pobraniu rozmiaru z edit box'a . Pobraniu tekstu co wygląda mniej wiecej tak :

Rozmiar = GetWindowTextLength(Adres);
Bufor = (LPSTR)GlobalAlloc(GPTR,Rozmiar+1);
GetWindowText(Adres,Bufor,Rozmiar+1);//!!!Dla DevC++

Chcę poźniej dodac do tekstu znajdujacego sie w buforze inny co wygląda mniej wiecej tak :

Bufor[Rozmiar]=".web";

Dev zwraca błąd o teści : "invalid conversion from `const char*' to `char'".
Jak mam zrobic zeby do tekstu znajdującego sie w buforze na końcu dodac jeszcze jakiś ?? przykłądzik poprosze jesli mozna :)

Link do komentarza
Udostępnij na innych stronach

Witam!

Nie znam dobrze C (piszę w MASM) ale wydaje mi sie że kompilator ma rację :P Według mnie próbujesz zastąpić jeden znak (byte) w buforze ciągiem 4 znaków (dword) a ten numer napewno nie przejdzie!!!

No ale według mnie powinieneś utworzyć 2 buforki. Pierwszy na to co chcesz dołączyć (".web" na przykładzie) drugi mający wielkość tekstu w kontrolce z której pobierasz tekst + rozmiar tekstu który chcesz dołączyć + 1 wtedy możesz sobie je połączyć np. za pomocą API lstrcat
oczywiście jako pierwszy parametr podajesz adres drugiego buforka a jako drugi pierwszego.

Mam nadzieję że to co napisałem jest choć trochę zrozumiałe. ;)

Pozdrowienia

Link do komentarza
Udostępnij na innych stronach

Przerabiając trochę twój kod to będzie coś w tym stylu:

LPSTR Bufor;
Rozmiar = GetWindowTextLenght(Adres);
Bufor = (LPSTR)GlobalAlloc(GPTR, Rozmiar+4);
GetWindowText(Adres, Bufor, Rozmiar+1);

lstrcat(Bufor, "web"); // sklej napisy

Cały myk sprowadza się do tego, żeby zarezerować w buforze miejsce na dwa stringi: ten z okna i ten który chcesz dąłączyć. Funkcja lstrcat dokleja string podany jako drugi argument, do stringa będącego argumentem pierwszym :]

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...