C 安全函式之strcpy s

2021-08-13 07:16:16 字數 1643 閱讀 7097



c++安全函式之strcpy_s

1.  必須包含的標頭檔案:

2.  函式宣告:

[cpp]view plain

copy

print

?errno_t strcat_s(    

char *strdestination,    

size_t numberofelements,    

const

char *strsource     

);   

errno_t strcat_s(  

char *strdestination,

size_t numberofelements,

const char *strsource

);

3.  引數介紹

strdestination

目標字串緩衝區的位置。

numberofelements

多位元組窄函式 char 單元以及寬函式 wchar_t 單元中的目標字串緩衝區的大小。

strsource

以 null 結尾的源字串緩衝區。

4.  使用例子

[cpp]view plain

copy

print

?#include 

#include 

#include 

#include 

int main( void )    

#include #include #include #include int main( void )

5.  注意事項

在使用strcpy_s,使用兩個引數的時候要特別注意的一點是,兩個引數但如果:char *str=new char[7];會出錯:提示不支援兩個引數。

new出來的字串,提示不支援兩個引數,所以必須用三個引數的。

[cpp]view plain

copy

print

?#include

#include 

using

namespace std;  

void test(void)  

int main()    

#include#include using namespace std;

void test(void)

{ char *str1 = null;

str1 = new char[20];

char str[7];

strcpy_s(str1, 20, "hello world");//三個引數

strcpy_s(str, "hello");//兩個引數但如果:char *str=new char[7];會出錯:提示不支援兩個引數

cout << "strlen(str1):"《輸出為:

strlen(str1): 11      //另外要注意:strlen(str1)是計算字串的長度,不包括字串末尾的「\0」!!!

strlen(str): 5

hello world

hello

C 中函式strcpy和strcpy s

strcpy 語法 include char strcpy char to,const char from 功能 複製字串from 中的字元到字串to,包括空值結束符。返回值為指標to。由於沒有字串長度的限制,所以複製過程中遇到過長的字串可能會發生未知的錯誤。strcpy s 語法 include ...

C 安全函式之strcat s

1.必須包含的標頭檔案 2.函式申明 errno t strcat s char strdestination,size t numberofelements,const char strsource 3.引數介紹 strdestination null 終止的目標字串緩衝區。numberofele...

C 安全編碼 函式

由於c語言風格的陣列,預設沒有結束符,當讀取陣列時需要自己根據陣列長度進行判斷。這個也是c c 比其他語言執行效率高的一點原因。對於設計成api的函式,必須對引數進行合法性判斷,嚴禁在api實現過程中產生crash。assert,第一會產生crash,release版本又無效 所以assert就顯得...