字符串中每个字符的XOR总和

时间:2018-09-18 10:18:15

标签: c xor

我从Receive [300]中得到了一个字符串,该字符串以delim1-&开头,以delim2-*结束。现在,我需要对其之间的所有字符进行XOR。我认为我需要将所有人的char转换为bin,然后将其汇总。我一直在寻找“ string.h”的功能,但是里面什么也没有。我该如何解决这个问题?

enter image description here

1 个答案:

答案 0 :(得分:1)

使用for循环。

char *ptr = strtok(Received, delim1);
char *star = strtok(ptr, delim2);
char result = ptr[0]; // Start with the first character in the token
if (ptr[0]) { // don't loop if the string is empty
    for (char *p = ptr+1; *p; p++) { // Loop over the remaining characters
        result ^= *p; // XOR them into the result
    }
}

DEMO