日积月累

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;
      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值