【发布时间】:2017-01-15 18:58:25
【问题描述】:
基本上我正在寻找的是一个标准函数,它可以做这样的事情
void transcpy(char *target, const char *src, const char c)
{
for (int i = 0; i < strlen(target)+1; i++)
if (src[i] == c) target[i] = c;
}
这个特定示例假定 target 和 src 的长度相同,但这不是我要查找的必要前提条件。虽然假设c 出现在src 中。
e。 G。 transcpy(word, "word", 'r"); where word is "____" 将改变 word 为 "__r_"
这可能只是特定于实现一个刽子手游戏,但它似乎是一个足够有用的功能,它可能有一个标准实现
【问题讨论】:
-
不,没有这样的标准功能。您只需要修改您的函数来处理
src和target的长度、空指针等不同的情况。 -
我不知道标准 c 中的任何此类功能;然而,在 C++ 中,lambda 函数会提供更多的灵活性。
标签: c string c-standard-library