Цитата(GeGeL @ Mar 13 2013, 21:42)

htonl( ) украсит код
Код украсил, спасибо :-)
Код
#pragma pack(1)
struct GOOGLE_REQUEST_Y{
unsigned char pre[31];
unsigned long cellid;
unsigned long lac;
unsigned long operatorid;
unsigned long countrycode;
unsigned char post[8];
}send = {
{0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00},
htonl((unsigned long)u_tri.ya.cellid),
htonl((unsigned long)u_tri.ya.lac),
htonl((unsigned long)u_tri.ya.operatorid),
htonl((unsigned long)u_tri.ya.countrycode),
{0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00}
};
#pragma pack(4)
// PREAMBULA
char preambula[200] = "";
unsigned short strleftlen = sizeof(preambula)-1;
strleftlen -= snprintf (preambula + strlen(preambula), strleftlen, "POST /glm/mmap HTTP/1.1\r\n");
strleftlen -= snprintf (preambula + strlen(preambula), strleftlen, "Content-type: application/binary\r\n");
strleftlen -= snprintf (preambula + strlen(preambula), strleftlen, "Content-length: %d\r\n", sizeof(send));
strleftlen -= snprintf (preambula + strlen(preambula), strleftlen, "Accept-Encoding: identity\r\n");
strleftlen -= snprintf (preambula + strlen(preambula), strleftlen, "\r\n");
if ( netconn_write(google_locator, preambula, strlen(preambula), NETCONN_NOCOPY) == ERR_OK )
{
}
if ( netconn_write(google_locator, &send, sizeof(send), NETCONN_NOCOPY) == ERR_OK )
{
}
struct netbuf * in_buf = netconn_recv(google_locator);
if ( in_buf )
{
unsigned long buflen = netbuf_len(in_buf);
...
Но правильно вычислить координаты все еще не получилось. Мозг зачерствел. Прошу помощи:
Нужно из координат и силы сигнала вышек базовых станций определить координату точки. Задача вроде бы для школы, где то на уровне подсознания "крутятся" вектора, но... эх..