strcat_s是C/C++中,用於連線兩個字元串的標準庫函式,是strcat函式的增強版本。比如在C語言中可配合#include <string.h>。這樣的語句使用。
基本介紹
- 中文名:字元串連線函式
- 外文名:strcat_s
- 領域:計算機
- 作用:具有更強"安全性"的CRT函式。
函式原型聲明,預編譯頭檔案,與其他區別,套用示例,
函式原型聲明
errno_t strcat_s(char *strDestination,size_t numberOfElements,const char *strSource);
預編譯頭檔案
需包含的預編譯頭檔案
2、在C++語言中:#include <cstring>
(可配合使用 using namespace std; 語句)
與其他區別
strcat_s是VS2005及以後新增的具有更強"安全性"的CRT函式。
套用示例
char szBuf[3] = {0};strcat_s(szBuf, 3, "kdfdfj"); // 第一種連線字元串方法strcat(szBuf, "kdfdfj"); // 第二種連線字元串方法
對於這兩個例句,你仔細看就會發現他們有緩衝區溢出的問題.
而用第一個函式則不同,它會拋出一個異常。
但使用第二個函式的結果則不能確定,因為它可能會錯誤地改變了程式中其他部分的記憶體的數據,有可能不會拋出異常,但會導致程式數據錯誤,也可能由於非法記憶體訪問拋出異常