C语言把"桌面"转换成URL格式的:%E6%A1%8C%E9%9D%A2

其实上面的桌面转换不算是转换

我只是让他以16流进制来打印出来加上%在中间而已

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void totem_action_url(const char *peng,char *keng[]);

void totem_action_url(const char *peng,char *keng[])
{
    <table class="text-file "><tbody><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_52"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_52 line_content new noteable_line">int i = 0;</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_53"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_53 line_content new noteable_line">      char out_sin = '%';</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_54"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_54 line_content new noteable_line">      char len[1024] = "\0";</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_55"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_55 line_content new noteable_line">      while(address[i] != '\0')</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_56"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_56 line_content new noteable_line">      {</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_57"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_57 line_content new noteable_line">     if(~(address[i] >> 8) == 0 && address[i] != '/' || address[i] == ' ')</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_58"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_58 line_content new noteable_line">     {</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_59"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_59 line_content new noteable_line">     sprintf(len,"%c%02X",out_sin,*((unsigned char *)(address+i)));</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_60"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_60 line_content new noteable_line">     strncat(retaddes,&len,3);</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_61"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_61 line_content new noteable_line">     }</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_62"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_62 line_content new noteable_line">      else{</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_63"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_63 line_content new noteable_line">       strncat(retaddes,&address[i],1);</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_64"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_64 line_content new noteable_line">      }</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_65"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_65 line_content new noteable_line">  </td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_66"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_66 line_content new noteable_line">        i++;</td></tr><tr class="line_holder new" id="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_67"><td class="efd681bb6c397a92c368d2e3bb5c2d67a248107a_0_67 line_content new noteable_line"> }</td></tr></tbody></table>
}

int main(int argc,char *argv[])
{    
    char *keng = "桌面";
    char meng[1024] = "\0";
    totem_action_url(keng,meng);
    printf("%s\n",meng);
    exit(1);
}
代码如上;

运行结果如下图:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值