2011-10-01 26 views
0

我一直在困扰我的大脑一段时间,我已经很容易地在Google Go中完成了所有工作。但是现在我需要用C写一些东西来做到这一点。修改C字符串的每个字符

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

例如: 的“Hello World” - >加密 - >“hlkj34%^%$”

我不想让任何人做的工作对我来说,但如果可能只是告诉我如何我可以编辑每个的字符代码。

回答

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; 
} 
+3

不要忘记在某个时刻释放()副本。 – Chris