使用strcat s的注意事項

2021-06-20 17:12:19 字數 1218 閱讀 2509

我們要合併字串的話,使用c語言編寫的時候需要注意幾點事項。

strcat_s函式宣告:

errno_t strcat_s(

char *strdestination,

size_t numberofelements,

const char *strsource

);

出現歧義的大部分為第2個引數。

當此引數被賦值為下面幾種情況下,會發生。

(1)numberofelements=sizeof(dst)

strcat_s(ret, sizeof(ret), str1);
(2)numberofelements=strlen(src)

strcat_s(ret, strlen(str1), str1);
此錯誤提示我們目標(buffer)過小。

實際上第二個引數是合併字串後的字元數量。

即,源串大小 + 目標串大小 + 字串結束符大小("\0")

第(1)個錯誤只計算了目標串的大小.

第(2)個錯誤只計算了源串的大小.

2. l"string is not null terminated" && 0

當我們沒有初始化字串的時候,就會出現。

解決辦法:

memset(ret, 0, sizeof(ret));
此程式在vs2017除錯pass.

///// #include // _tmain && _tchar // 如果使用vs2005~vs2015建立的console, 開啟注釋

#include #include // malloc()

#include // strcat_s() && strlen()

/// int _tmain(int argc, _tchar* argv) // 如果使用vs2005~vs2015建立的console, 開啟注釋

int main(int argc, char* argv)

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...

using使用注意事項

在c 的語法中,using關鍵字有幾個作用 一 匯入乙個命名空間,以便於能使用該命名空間下的相關型別定義,如下的例項 中,將匯入system.text下的相關型別定義 二 為乙個命名空間設定別名,這種情況下並不會匯入對應命名空間下的型別定義,如例項 為system.text定義了別名systext,...

LCD使用注意事項

a.lcd使用注意事項 1.確保是在電源關閉的狀態下拔插線纜 2.對液晶屏進行固定安裝時,注意使整個液晶屏保持平整,避免外力導致液晶屏 彎曲 扭曲 3.一定要小心液晶屏的表面偏光片,避免被堅硬物體劃傷 決不能將堅硬物品置於液晶屏之上 4.如果水滴長時間滯留在液晶模組上,可能導致變色或出現汙斑,所以務...