int xmlEncode(char *str)
{
char m_str[256] = {0};
char a_str[256] = {0};
strncpy(m_str,str,strlen(str));
int len = strlen(str);
int i=0;
while(i < len)
{
if(str[i] == '&')
{
strcat(a_str,"&");
}
else if(str[i] == '<')
{
strcat(a_str,"<");
}
else if(str[i] == '>')
{
strcat(a_str,">");
}
else {
strncat(a_str,str+i,1);
}
i++;
}
printf("%s\n",a_str);
memset(str,256);
strncpy(str,a_str,strlen(a_str));
return 0;
}
随手写 未测试过。
#include <stdio.h>
#include <string.h>
int main() { char *str = "sdf&sfg=sdf&dsf"; char m_str[256] = {0}; char a_str[256] = {0}; strncpy(m_str,strlen(str)); int len = strlen(str); int i=0; while(i < len) { if(str[i] == '&') { strcat(a_str,"&"); } else { strncat(a_str,1); } i++; } printf("%s\n",a_str); }