我想将一个字符串中的字符从前到后的逐个转为ACSII码,并从前到后将ASCII码逐个与后面一个ASCII码作异或运算,运算结果再与后面的一个ASCII码异或,直到最后一个。最终的所得的ASCII码再转为字符串。请问各位高手大哥我该怎么作呢?若能给出源码,小弟不胜感激。

解决方案 »

  1.   

    just like this???
             char str[] = "abdwferwa";
    int nLength = strlen(str);
    char result = 0;
    for(int i=0; i<nLength; i++)
    {
        result ^= str[i] ;
    }
    printf("%c\n" , result);
      

  2.   

    CString GetResult(const char* sSource)
    {
        int nTmp=0;
        CString str(sSource);
        for (int i=0; i<strlen(sSource); i++)
            nTmp ^= str[i];    CString sResult;
        sResult.Format("%c",nTmp);    return sResult;
    }
      

  3.   

    char str[] = "abdwferwa";
    char result;
    for(int i=0; i<strlen(str); i++)
    {
       result = str[i];
       for(int j=i+1;j<strlen(str); j++)
          result ^= str[j];
       str[i] = result;
    }
    以上代码是借1楼的改的。不知是不是楼主所要求的。
      

  4.   

    不好意思,各位,我可能没说清楚,以字符串“abdwferwa”为例,我的意思是将a转换为ASCII码,与b的ASCII码异或,所得的ASCII码值再与d的ACSCII码值异或,如此知道最后一个字符,最后的ASCII码值再转为字符。不好意思误导"阳光"了。
    另外,我听说如果以字符直接这么异或会产生类型不匹配的错误,请问有这回事吗?