Skocz do zawartości

Buforek :)


Recommended Posts

Napisano

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 :)

Napisano

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

Napisano

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 :]

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...