91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++高風險函數有哪些

發布時間:2021-11-29 14:46:23 來源:億速云 閱讀:136 作者:iii 欄目:大數據

本篇內容主要講解“C++高風險函數有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C++高風險函數有哪些”吧!

1.gets - 高風險    

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*fgets(char *dest ,int n, stdin);

前提是,我們必須清楚n必須小于dest的大小,以保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

fgets(dest,MAX_SIZE-1,stdin);

......

2._getws - 高風險

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用wchar_t*fgetws(wchar_t *dest ,int n, stdin);

前提是,我們必須清楚n必須小于dest的大小,以保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

fgetws(dest,MAX_SIZE-1,stdin);

......

3._getts - 高風險  

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用TCHAR *fgetts(TCHAR *dest ,int n, stdin);

前提是,我們必須清楚n必須小于dest的大小,以保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

TCHAR dest[MAX_SIZE];

memset(dest,0,MAX_SIZE*sizeof(TCHAR));

fgetts(dest,MAX_SIZE-1,stdin);

......

4.strcpy - 高風險 

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*strncpy(char *dest, const char *src, size_t n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

strncpy(dest,src,MAX_SIZE-1);

......

5.lstrcpy - 高風險

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用LPTSTRlstrcpyn(LPTSTR dest, LPCTSTR src, int n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度.另外請注意函數lstrcpyn會自動在第n-1位填充0,無論第n-1位是否還有有效數據.

例子:

......

char dest[MAX_SIZE];

......

lstrcpyn(dest,src,MAX_SIZE);

......

6.lstrcpyA - 高風險     

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用LPTSTRlstrcpyn(LPTSTR dest, LPCTSTR src, int n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度.另外請注意函數lstrcpyn會自動在第n-1位填充0,無論第n-1位是否還有有效數據.

例子:

......

char dest[MAX_SIZE];

......

lstrcpyn(dest,src,MAX_SIZE);

......

7.lstrcpyW - 高風險    

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用wchar_t*wcsncpy(wchar_t *dest, const wchar_t *src,size_t n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

......

wmemset(dest,0,MAX_SIZE);

wcsncpy(dest,src,MAX_SIZE-1);

......

8.wcscpy - 高風險

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用wchar_t*wcsncpy(wchar_t *dest, const wchar_t *src,size_t n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

......

wmemset(dest,0,MAX_SIZE);

wcsncpy(dest,src,MAX_SIZE-1);

......

9._tcscpy - 高風險      

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用TCHAR*tcsncpy(TCHAR *dest, const TCHAR *src, size_tn);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

TCHAR dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE*sizeof(TCHAR));

tcsncpy(dest,src,MAX_SIZE-1);

......

10._ftcscpy - 高風險   

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*_ftcsncpy(char* dest,const char* src, unsignedint n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

_ftcsncpy(dest,src,MAX_SIZE-1k);

......

11.StrCpy - 高風險     

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*strncpy(char *dest, const char *src, size_t n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

strncpy(dest,src,MAX_SIZE-1);

......

12.strcat - 高風險 

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*strncat(char *dest , const char *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

strncat(dest,src,MAX_SIZE-strlen(dest)-1);

......

13.wcscat - 高風險      

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用wchar_t*wcsncat(wchar_t *dest, const wchar_t *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

......

wcsncat(dest,src,MAX_SIZE-wcslen(dest)-1);

......

14._mbscat - 高風險    

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用unsigned char* _mbsncat(unsigned char*dest,constunsigned char* src, size_t n);

前提是,我們必須清楚目標緩存區dest的大小和源緩存區src的長度,dest首先以0賦值,以保證0結尾.否則還是將會導致不可預料的結果.

例子:

......

unsigned char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

_mbsncat(dest,src,MAX_SIZE-strlen(dest)-1);

......

15._tcscat - 高風險      

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*_tcsncat(char *dest , const char *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

_tcsncat(dest,src,MAX_SIZE-strlen(dest)-1);

......

16.StrCat - 高風險      

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*strncat(char *dest , const char *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

strncat(dest,src,MAX_SIZE-strlen(dest)-1);

......

17.StrCatA - 高風險    

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用char*strncat(char *dest , const char *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

strncat(dest,src,MAX_SIZE-strlen(dest)-1);

......

18.StrCatW - 高風險   

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用wchar_t*wcsncat(wchar_t *dest, const wchar_t *src,size_t n);

前提是,我們必須清楚目標緩存區dest所剩下的大小和源緩存區src的長度,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_t dest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

......

wcsncat(dest,src,MAX_SIZE-wcslen(dest)-1);

......

19.sprintf - 高風險      

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用int _snprintf(char *dest,size_t n, const char*format[,argument...]);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

_snprintf(dest,MAX_SIZE-1,formatstring,args);

......

20.wsprintf - 高風險   

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用intwnsprintf(LPTSTR dest ,int n, LPCTSTR pszFmt);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

21.wsprintfA - 高風險 

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用intwnsprintf(LPTSTR dest ,int n, LPCTSTR pszFmt);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

22.wsprintfW - 高風險

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用intwnsprintf(LPTSTR dest ,int n, LPCTSTR pszFmt);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

23.vsprintf - 高風險    

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用int_vsnprintf(char *dest ,size_t n, const char*format, va_list argptr);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

_vsnprintf(dest,MAX_SIZE-1,formatstring,args);

......

24.vswprintf - 高風險  

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用int_vsnwprintf(wchar_t *dest ,size_t n, const wchar_t*format, va_list argptr);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

_vsnwprintf(dest,MAX_SIZE-1,formatstring,args);

......

25.swprintf - 高風險   

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用int_snwprintf(wchar_t *dest ,size_t n, const wchar_t*format[,argument...]);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

_snwprintf(dest,MAX_SIZE-1,formatstring,args);

......

26._stprintf - 高風險   

危險:

它沒有安全檢查措施,很容易導致緩沖區溢出.

建議:

可以考慮使用int_sntprintf(TCHAR *dest ,siez_t n,const TCHAR*format[,argument...]);

前提是,我們必須清楚寫入目標緩存區dest的長度必須小于dest的大小,同時保證函數執行后dest以0結尾.否則還是將會導致不可預料的結果.

例子:

......

TCHAR dest[MAX_SIZE];

memset(dest,0,MAX_SIZE*sizeof(TCHAR));

_sntprintf(dest,MAX_SIZE-1,pszFmt);

......

到此,相信大家對“C++高風險函數有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

昌图县| 永泰县| 威海市| 肥城市| 鹿泉市| 镇江市| 云浮市| 蓝山县| 晋江市| 新乡县| 洪泽县| 方山县| 恩平市| 吴桥县| 横峰县| 囊谦县| 泰安市| 栖霞市| 项城市| 独山县| 吐鲁番市| 通化市| 东平县| 营山县| 仁怀市| 阿城市| 池州市| 庄河市| 环江| 轮台县| 错那县| 曲松县| 平顶山市| 黄浦区| 麟游县| 旺苍县| 武宁县| 奉化市| 潞西市| 乐平市| 青铜峡市|