programistagd Opublikowano 26 Marca 2010 Udostępnij 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 26 Marca 2010 Udostępnij 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? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 26 Marca 2010 Udostępnij 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 26 Marca 2010 Udostępnij Opublikowano 26 Marca 2010 no to on mowil o kopiowaniu cstringa a napisal o konwersji :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę