将char添加到字符串的开头和结尾

时间:2018-04-26 21:42:29

标签: c string

我有一个接收字符串作为输入的函数。我需要在开头和结尾添加一个char,比如'<' ++ "example" ++ '>',以获得类似<example>的输出。

是否已有此功能或我需要自己编写?

2 个答案:

答案 0 :(得分:3)

有很多功能可以做到这一点:

仅举几例。您应该使用哪一个取决于您的需求。最多 多种多样的观点是sprintfsnprintf。例如:

char result[100];
const char *middle = "example";

// the snprintf solution
snprintf(result, sizeof result, "<%s>", middle);

// the strcat solution
result[0] = '\0';
strcat(result, "<");
strcat(result, middle);
strcat(result, ">");

您可以选择任何您喜欢的版本,但我认为snprintf总体上更好 比strcat解决方案。

答案 1 :(得分:0)

这里有例子:

char *append(char before, char *str, char after)
{
    size_t len = strlen(str);
    if(before)
    {
        memmove(str + 1, str, ++len);
        *str = before;
    }
    if(after)
    {
        str[len] = after;
        str[len + 1] = 0;
    }
    return str;
}