1、其它数据类型转换为字符串
短整型(int)
itoa(i,temp,10);///将i转换
为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
长整型(long)
ltoa(l,temp,10);
2、字符串转换为其它数据类型
strcpy(temp,"123");
短整型(int)
i = atoi(temp);
长整型(long)
l = atol(temp);
浮点(double)
d = atof(temp);
3、xml相关
<iq from='、、、@、、、/telnet' id='q01' to='location_base_server' type='get' xml:lang='en-US'><locationquery xmlns='urn:xmpp:locationquery:0'><username>zrd</username><lat>5700</lat><lon>9918</lon><accuracy>35.6</accuracy></locationquery></iq>
查找usrname
ns = nad_find_elem(pkt->nad, 2, -1, "username", 1);
log_debug(ZONE, "2 1 ns:%d ..............", ns);
if(ns >= 0 && 0 == strncmp("username", NAD_ENAME(pkt->nad, ns), NAD_ENAME_L(pkt->nad, ns)))
{
snprintf(username, 32, "%.*s", NAD_CDATA_L(pkt->nad, ns), NAD_CDATA(pkt->nad, ns));
log_debug(ZONE, "wap packet username: %s", username);
}
else
{
log_debug(ZONE, "ERROR: no username.");
return ;
}
查找lat,lon
ns = nad_find_elem(pkt->nad, 2, -1, "lon", 1);
log_debug(ZONE, "2 1 ns:%d ..............", ns);
if(ns >= 0 && 0 == strncmp("lon", NAD_ENAME(pkt->nad, ns), NAD_ENAME_L(pkt->nad, ns)))
{
snprintf(tmp, 32, "%.*s", NAD_CDATA_L(pkt->nad, ns), NAD_CDATA(pkt->nad, ns));
log_debug(ZONE, "client packet lon: %s", tmp);
lon= atoi(tmp);
log_debug(ZONE, "client packet lon: %d", lon);
}
xml:<data><message_entity><username>name</username><stat>1</stat></message_entity></data>
查找username:
iq = nad_find_elem(nad, 1, -1, "username", 1);
log_debug(ZONE, "1 1 iq:%d ..............", iq);
if(iq >= 0 && 0 == strncmp("username", NAD_ENAME(nad, iq), NAD_ENAME_L(nad, iq)))
{
snprintf(strUsername, 32, "%.*s", NAD_CDATA_L(nad, iq), NAD_CDATA(nad, iq));
log_debug(ZONE, "wap packet username: %s", strUsername);
}
else
{
log_debug(ZONE, "ERROR: no username.");
return -1;
}
查找stat:
iq = nad_find_elem(nad, 1, -1, "stat", 1);
log_debug(ZONE, "1 1 iq:%d ..............", iq);
if(iq >= 0 && 0 == strncmp("stat", NAD_ENAME(nad, iq), NAD_ENAME_L(nad, iq)))
{
type = *(NAD_CDATA(nad, iq));
log_debug(ZONE, "wap packet: type: %c ", type);
}
else
{
log_debug(ZONE, "ERROR: no stat.");
return -1;
}