strcpy s 與 strcpy 的用法

2021-07-07 04:36:58 字數 528 閱讀 1605

今天用mfc的記憶體對映,發現拷貝出現了問題,減少寫入資料,輸出顯示資料會亂碼。。。現問題解決記錄分享下。。。。

errno_t strcpy_s(char *strdestination,size_t numberofelements,const char *strsource );

各引數的意思如下:

strdestination:目標字串緩衝區的位置

numberofelements:目標字串緩衝區的大小(注意,是目標)

strsource :終止的源字串緩衝區

strcpy(char *strdestination,const char *strsource );引數少乙個,但是沒有strcpy_s,安全。。

由於我寫的**裡目標字串緩衝區的大小不固定,我獲取的是源字串大小2倍再加1,測試通過,這樣就可以實現不固定長度的拷貝。例項如下:

void ccsharememdlg::onbnclickedwrite()

void ccsharememdlg::onbnclickedread()

strcpy s與strcpy的比較

strcpy s和strcpy 函式的功能幾乎是一樣的。strcpy函式,就象gets函式一樣,它沒有方法來保證有效的緩衝區尺寸,所以它只能假定緩衝足夠大來容納要拷貝的字串。在程式執行時,這將導致不可預料的行為。用strcpy s就 可以避免這些不可預料的行為。這個函式用兩個引數 三個引數都可以,只...

strcpy s與strcpy的比較

strcpy s和strcpy 函式的功能幾乎是一樣的。strcpy函式,就象gets函式一樣,它沒有方法來保證有效的緩衝區尺寸,所以它只能假定緩衝足夠大來容納要拷貝的字串。在程式執行時,這將導致不可預料的行為。用strcpy s就 可以避免這些不可預料的行為。這個函式用兩個引數 三個引數都可以,只...

strcpy s與strcpy的區別

strcpy s和strcpy 函式的功能幾乎是一樣的。strcpy函式,就象gets函式一樣,它沒有方法來保證有效的緩衝區尺寸,所以它只能假定緩衝足夠大來容納要拷貝的字串。在程式執行時,這將導致不可預料的行為。用strcpy s就 可以避免這些不可預料的行為。這個函式用兩個引數 三個引數都可以,只...