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, 0, 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,str,strlen(str));
int len = strlen(str);
int i=0;
while(i < len)
{
if(str[i] == '&')
{
strcat(a_str,"&");
}
else {
strncat(a_str,str+i, 1);
}
i++;
}
printf("%s\n",a_str);
}