如何在C中xor两个字符串?

时间:2016-09-15 23:09:57

标签: c

我有2个字符串值。 str和str2。我希望xor str和str2

我的代码是

#include <stdio.h>

int main(){
    char str[]   =  "Hello";
    char str2[]  =  "World";
    char outupt;

    output = str[] ^ str2[]; 
    printf("%s",output)   

    return 0;
}

1 个答案:

答案 0 :(得分:5)

逐个字符:

#include <stdio.h>
#include <string.h>

int main(){
  int i;
  char str[]   =  "Hello";
  char str2[]  =  "World";
  char output[6];

  for (i=0; i<strlen(str); i++)
  {
    char temp = str[i] ^ str2[i];
    output[i] = temp;
  }

  output[i] = '\0';
  printf("%s", output);

  return 0;
}

当然,您需要确保output足够大以容纳结果(包括空终止符),并且您需要决定如果str和{{1}该怎么做长度不一样。