[ abraksas @ 18.12.2007. 08:08 ] @
Pokušavam da napišem malu aplikaciju za Windows CE, koja bi trebala da "nadomesti" nedostatak -p parametra kod route komande u WinCe-u.
Kad god uređaj ode u Suspend mode, statička ruta nestane iz tabele rutiranja.
Zamisao je da ovaj programčić u određenom vremenskom intervalu proverava da li potrebna ruta postoji, pa ako ne postoji da je doda.
Za dodavanje rute na raspolaganju je IP Helper funkcija CreateIpForwardEntry. Parametry structure s kojom ova funkcija radi zahtevaju da se IP adrese odredišta, subnet maske i gateway-a unesu u host order formatu, tj. u hex reprezentaciji obrnutog redosleda. Tako bi, npr. adresa 192.168.0.1 u ovoj reprezentaciji izgledala 192.168.0.1 -> 1.0.168.192 -> 0x0100A8C0.
Moj problem je da konvertujem ip iz tekstualnog formata (TCHAR [16]) u odredišni format.

Može pomoć?

Hvala unapred.
[ mulaz @ 18.12.2007. 08:37 ] @
sigurno moze bolje.. ali mozes i tako:
imas recimo ip 192.168.0.1
citas ip od pocetka do prve tacke, prebrojis koliko char-a je (znaci 1 9 2 . ) (oduzmes 1 zbog tacke) i onda racunas. Recimo da je broj char-a (brojka) jednak n, onda racunas prvi_char*10^n + drugi char*10^(n-1) ... i prestanes kad je n manji od nula (znaci 10^0=1 je zadnja operacija koja se izbrsi)
i opet citas dalje brojke do sledece tacke

onda racunas zadnju hex vrednost, znaci prvi broj treba da pomeris za 6 hexadecimalnih mesta u levo, znaci 192*16^6 + 168*16^4 + 0*16^2 + 1*16^0 i dobijes oni vrednost dole (ako je ispises kao hex, znaci u printf ide %x ili %X, a mozes i direktno da radis sa tim brojem)