2011-10-01 24 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