源代码如下:
char* ReplaceSpecChar(char *s, char *sInput)
{
long i=0, j=0; memset(s, 0, 1201);
for (i=0; sInput[i]; i++)
{
if (sInput[i] == '<')
{
s[j++]='&';s[j++]='l';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '>')
{
s[j++]='&';s[j++]='g';s[j++]='t';s[j++]=';';
}
else if (sInput[i] == '&')
{
s[j++]='&';s[j++]='a';s[j++]='m';s[j++]='p';s[j++]=';';
}
else if (sInput[i] == '\'')
{
s[j++]='&';s[j++]='a';s[j++]='p';s[j++]='o';s[j++]='s';s[j++]=';';
}
else if (sInput[i] == '"')
{
s[j++]='&';s[j++]='q';s[j++]='u';s[j++]='o';s[j++]='t';s[j++]=';';
}
else
{
s[j++]=sInput[i];
}
}
return s;
}
先翻译为java,最后能解释下,麻烦了,我是新手,不太会,努力学习中

解决方案 »

  1.   

    String ReplaceSpecChar(String s, String sInput)
    {
    long i=0, j=0;//memset(s, 0, 1201);
    s.replaceAll(null, "1201");
    for (i=0; sInput[i]; i++)
    {
    if (sInput[i] == '<')
    {
    s[j++]='&';s[j++]='l';s[j++]='t';s[j++]=';';
    }
    else if (sInput[i] == '>')
    {
    s[j++]='&';s[j++]='g';s[j++]='t';s[j++]=';';
    }
    else if (sInput[i] == '&')
    {
    s[j++]='&';s[j++]='a';s[j++]='m';s[j++]='p';s[j++]=';';
    }
    else if (sInput[i] == '\'')
    {
    s[j++]='&';s[j++]='a';s[j++]='p';s[j++]='o';s[j++]='s';s[j++]=';';
    }
    else if (sInput[i] == '"')
    {
    s[j++]='&';s[j++]='q';s[j++]='u';s[j++]='o';s[j++]='t';s[j++]=';';
    }
    else
    {
    s[j++]=sInput[i];
    }
    }
    return s;
    }
      

  2.   

    char * 改成 char[] 
    然后有""的地方改成 '' 
    memset 这句话是对内存初始化
      

  3.   

    基本和java一样啊楼上说的不错,虽然我也会c和java,但是还没听过memset 这个函数