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

C 将字符添加到字符串的开头和结尾,c,string,C,String,我有一个函数,它接收字符串作为输入。我需要在开头和结尾添加一个字符,类似于',以获得类似的输出 是否已经有了此功能,或者我需要自己编写此功能?有很多功能可以实现此功能: 举几个例子。你应该使用哪一种取决于你的需要。最 所有这些都被认为是多功能的sprintf和snprintf。例如: char result[100]; const char *middle = "example"; // the snprintf solution snprintf(result, sizeof res

我有一个函数,它接收字符串作为输入。我需要在开头和结尾添加一个字符,类似于
'
,以获得类似
的输出


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

有很多功能可以实现此功能:

举几个例子。你应该使用哪一种取决于你的需要。最 所有这些都被认为是多功能的
sprintf
snprintf
。例如:

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, ">");
char结果[100];
const char*middle=“示例”;
//snprintf解决方案
snprintf(结果,结果大小,”,中间);
//strcat解决方案
结果[0]='\0';
strcat(结果“”);
您可以选择任何您喜欢的版本,但我认为总体而言,
snprintf
更好
而不是strcat解决方案。

这里有一个例子:

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

没有已存在的函数Use strcat()函数!但是首先strcopy()将它们放在两个变量中“是否已经有了用于此的函数”C语言对于此类问题来说是错误的。您需要自己编写它。您需要一个足够大的输出缓冲区来容纳输出字符串和NUL终止符。然后您可以
sprintf(output,”,input)
从输入字符串创建输出字符串。“是否已经有用于此的函数”->
snprintf(buf,sizeof buf,”,“示例”)问题是他想要附加字符。@PeterJ_01附加到源代码?这正是我需要的,谢谢!从未听说过snprintf,似乎真的很有用@PedroLima看一下我在答案中链接的页面。这将向您展示整个
printf
函数系列。在不同的情况下,这种方法非常有效。我曾在生产代码中使用过这些函数中的每一个。提醒-这不能作为函数使用,因为您无法返回结果