其实上面的桌面转换不算是转换
我只是让他以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);
}
代码如上;
运行结果如下图: