我有這裏的例子代碼,我正在嘗試。重新聲明變量沒有連接
char test[256], test1[256];
char *combine =("Hello '%s', '%s'",test,test2);
我該如何解析我的測試test1的值到我的char * combine中?對於我的測試和測試1,我得到了一個沒有鏈接重新聲明的錯誤。
我有這裏的例子代碼,我正在嘗試。重新聲明變量沒有連接
char test[256], test1[256];
char *combine =("Hello '%s', '%s'",test,test2);
我該如何解析我的測試test1的值到我的char * combine中?對於我的測試和測試1,我得到了一個沒有鏈接重新聲明的錯誤。
結賬sprintf。它可以讓你把兩個字符串結合起來。
所以,像這樣:
char combine[LARGE_ENOUGH_NUMBER_HERE]
sprintf(combine, "Hello %s %s", test1, test2);
聲明:
char *combine = ("Hello '%s', '%s'", test, test2);
看起來並不像C在所有。如果要寫入格式化的字符串,則應該使用sprintf
系列(來自標準標頭<stdio.h>
)。您可以在整個Web上查看文檔。如果您使用C99,最好使用snprintf
,這更安全。
// C99
#include <stdio.h>
char combine[1024]; /* Should be long enough to hold the string. */
snprintf (combine, sizeof combine, "Hello '%s', '%s'", test, test2);
非常感謝。我設法通過sprintf來實現我所需要的。 – user1823986
這不是C.也許你是受python的啓發? – bmargulies