天天看點

sprintf參數包含本身時,結果并不符合預期

  代碼如下:

strcpy(params, "default");
    TS_LOG_TEXT(params);
 
    sprintf(params, " %s type=%s", params, PARAM_DEFAULT);
    TS_LOG_TEXT(params);      

  輸出是:

default
         type=default      

 也就是說,吾期望在原有緩沖區上進行擴充,結果原有的資料消失了。

  解決思路有兩個:

  • 使用strcat
  • 使用另外一個緩沖區組裝資料,然後再加進來。在多資料時很麻煩。

繼續閱讀