programistagd Opublikowano 26 Marca 2010 Opublikowano 26 Marca 2010 Witam! Piszę grę komputerową i spotkałem pewien problem: -muszę wysłać NULL terminated string, a writestring coś nie robi tego tak, jak trzeba. Muszę chyba mieć jeszcze jednego NULL'a na końcu. Serwer(tam jest problem) robię w C++. Konwersja na char* usuwa NULL'e, bo taka jest specyfikacja C-String'ów. Klient jest we Flashu ;D Ale problem związany z GM'em bo 39dll to głównie GM. Próbuję coś takiego: clearbuffer(0); writestring("blahblah",0); writeint(0,0); sendmessage(socket,0); I proszę o odpowiedź: co zrobić, żeby wysłać NULL'a w 39dll?? Z góry dziękuję. P.S. Jeśli zły dział to proszę o przeniesienie.
PsichiX Opublikowano 26 Marca 2010 Opublikowano 26 Marca 2010 writestring("blahblah\0",0); lub writestring("blahblah"+chr(0),0); Konwersja na char* usuwa NULL'e, bo taka jest specyfikacja C-String'ów ke? kto Ci takie bajki naopowiadal?
Konrad-GM Opublikowano 26 Marca 2010 Opublikowano 26 Marca 2010 jeśli chodzi o cpystr to akurat trzeba dodać 1 do strlen: strlen(buffer)+1; Ponieważ na nullu kończy liczyć długość tablicy
PsichiX Opublikowano 26 Marca 2010 Opublikowano 26 Marca 2010 no to on mowil o kopiowaniu cstringa a napisal o konwersji :P
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się