ďťż
 
 
   [+] libgadu - otrzymywanie wiadomości w formie tekstowej
 
 

Tematy

 
    
 

 

 

 

[+] libgadu - otrzymywanie wiadomości w formie tekstowej





IgiKoval - 20-08-2009 12:25
Witam. Ostatnio próbuję zrobić prosty program wykonujący w powłoce to, co dostanie ode mnie z gg. Mam coś takiego. if (event->type == GG_EVENT_MSG) {
      std::wcout<<L"Wiadomosc od: "<<(event->event.msg.sender)<<L"\n";
                std::wcout<<(event->event.msg.message)<<L"\n";
      } Jednak, kiedy wysyłam wiadomość, dostaję tylko coś w stylu
Wiadomość od: 4449442
0x84a59c8
Wiadomość od: 4449442
0x84a40d0 itp. Czemu tak się dzieje i co mam zrobić, żeby otrzymywać wiadomości w formie tekstowej?
Z góry dziękuję za pomoc.



killanonimx - 21-08-2009 12:26
To mi wygląda na wskaźnik.
Spróbuj przez std::cout, albo przez printf("%s\n", event->event.msg.message); Jeśli nie wyświetli wiadomości przez printf, a będzie będzie naruszenie ochrony pamięci (SIGSEGV), to będę musiał przejrzeć bibliotekę.



IgiKoval - 21-08-2009 16:51
Printf, który podałeś, nie wyświetla nic.



killanonimx - 21-08-2009 17:48
A spróbuj tak: printf("%s\n", (char*)event->event.msg.message); Bo widzę że event->event.msg.message to unsigned char*.



IgiKoval - 21-08-2009 19:40
Niestety dalj nic.

Edit: A jednak! Dzięki twojej podpowiedzi z (char*) udało mi się wyświetlić poprawnie tekst. Dzięki, już rozwiązane.

Edit: próbowałem wklepać to do mojego shella i niestety mam naruszenie ochrony pamięci...
Kod wygląda tak:

strcpy(td, (char*)event->event.msg.message);
strcat(td, (char*)OUTSAVE);
system(td); Gdzie OUTSAVE to
#define OUTSAVE " > out" Edit: Już sobie poradziłem. Miałem char* td;
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis