如果在使用sprintf函數(shù)時出現(xiàn)重復(fù)拼接的字符串,可以使用snprintf函數(shù)來替代。snprintf函數(shù)可以限制拼接的字符串的最大長度,防止溢出。
示例代碼如下:
#include <stdio.h>
int main() {
char str[20];
int a = 10;
int b = 20;
snprintf(str, sizeof(str), "%d%d", a, b);
printf("%s\n", str);
return 0;
}
在上面的代碼中,我們使用snprintf函數(shù)來替代了sprintf函數(shù),并指定了字符串的最大長度為20。這樣,即使a和b的長度之和超過20,也不會發(fā)生溢出,字符串也不會重復(fù)拼接。結(jié)果輸出為"1020"。