修改c字符串的每个字符

时间:2011-10-01 10:50:04

标签: c string encryption

我一直在捣乱我的大脑,我已经轻松地在Google Go中完成了所有这些工作。但是现在我需要用C语言来做这件事。

取一个简单的字符串并修改字符串中每个字符的代码,然后从现在加密的字符串中创建一个新字符串。我想做的就是这样做,这样我就可以轻松编辑每个字符代码。有人可以给我一个简单的例子吗?

例如: “Hello World” - > encrypter->“hlkj34%^%$”

我不希望任何人为我做这项工作,但如果可能,请告诉我如何编辑每个人的字符代码。

1 个答案:

答案 0 :(得分:1)

char *change_each_char(char const *str)
{
    char *copy = strdup(str);
    if (copy != NULL)
        for (size_t i=0; copy[i]; i++)
            copy[i] = SOME_OPERATION_ON(copy[i]);
    return copy;
}

由于strdup不在ISO C标准中,因此这里是非POSIX平台的定义:

char *strdup(char const *str)
{
    char *copy = malloc(strlen(str) + 1);
    if (copy) strcpy(copy, str);
    return copy;
}