溫馨提示×

C語言sprintf出現(xiàn)重復(fù)拼接的字符串怎么辦

小億
130
2024-01-27 13:41:51
欄目: 編程語言

如果在使用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"。

0