我有一个接收字符串作为输入的函数。我需要在开头和结尾添加一个char,比如'<' ++ "example" ++ '>'
,以获得类似<example>
的输出。
是否已有此功能或我需要自己编写?
答案 0 :(得分:3)
有很多功能可以做到这一点:
仅举几例。您应该使用哪一个取决于您的需求。最多
多种多样的观点是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, ">");
您可以选择任何您喜欢的版本,但我认为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;
}