对一段字符串取反,里面每位都是16进,把每一位分别取反,然后输出。如:“1ffc0a”第一个1,取反是E,第2位是f,取反为0,...
int main(int argc, char* argv[])
{
char str2[256];
int len;
char str[] = "FF03cF";
char ch[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
len=strlen(str);
strupr(str);
for (int i=0; i<len; i++)
{
if ('0'<=str[i] && str[i]<='9')
str2[i] = ch[15-(str[i]-'0')];
else if ('A'<=str[i] && str[i]<='F')
str2[i] = ch[('F'-str[i])];
else
str2[i] = str[i];
}
str2[i] = 0;
printf("%s",str2);
}