strncpy(string1, string2, 18);
strcat(string1, "Statement cache has been cleared.");
我可以将其合并为一个函数调用吗?
此致 的Vivek
答案 0 :(得分:1)
使用strcpy(s1 + pos, s2)
代替strcat()
,您可能喜欢这个,请参阅下面的示例:
代码:
@:~$ cat x.c
#include<stdio.h>
#include<string.h>
int main(){
char s1[10] = "0123456";
char s2[10] = "abcde";
int pos = 3;
strcpy(s1 + pos, s2);
printf("\n %s\n", s1);
return 0;
}
运行:
~$ ./a.out
012abcde
我没有处理缓冲区溢出。
答案 1 :(得分:0)
你可以这样做
sprintf(string1,"%18s%s",string2,"Statement cache has been cleared.");
或
snprintf(string1,<Size>,"%18s%s",string2,"Statement cache has been cleared.");