C++高風(fēng)險(xiǎn)函數(shù)有哪些

本篇內(nèi)容主要講解“C++高風(fēng)險(xiǎn)函數(shù)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++高風(fēng)險(xiǎn)函數(shù)有哪些”吧!

公司主營業(yè)務(wù):網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出昌江黎族免費(fèi)做網(wǎng)站回饋大家。

1.gets - 高風(fēng)險(xiǎn)    

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚n必須小于dest的大小,以保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

fgets(dest,MAX_SIZE-1,stdin);

......

2._getws - 高風(fēng)險(xiǎn)

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚n必須小于dest的大小,以保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

fgetws(dest,MAX_SIZE-1,stdin);

......

3._getts - 高風(fēng)險(xiǎn)  

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚n必須小于dest的大小,以保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

TCHAR dest[MAX_SIZE];

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

fgetts(dest,MAX_SIZE-1,stdin);

......

4.strcpy - 高風(fēng)險(xiǎn) 

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

strncpy(dest,src,MAX_SIZE-1);

......

5.lstrcpy - 高風(fēng)險(xiǎn)

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

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

例子:

......

char dest[MAX_SIZE];

......

lstrcpyn(dest,src,MAX_SIZE);

......

6.lstrcpyA - 高風(fēng)險(xiǎn)     

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

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

例子:

......

char dest[MAX_SIZE];

......

lstrcpyn(dest,src,MAX_SIZE);

......

7.lstrcpyW - 高風(fēng)險(xiǎn)    

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

......

wmemset(dest,0,MAX_SIZE);

wcsncpy(dest,src,MAX_SIZE-1);

......

8.wcscpy - 高風(fēng)險(xiǎn)

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

......

wmemset(dest,0,MAX_SIZE);

wcsncpy(dest,src,MAX_SIZE-1);

......

9._tcscpy - 高風(fēng)險(xiǎn)      

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

TCHAR dest[MAX_SIZE];

......

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

tcsncpy(dest,src,MAX_SIZE-1);

......

10._ftcscpy - 高風(fēng)險(xiǎn)   

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

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

......

11.StrCpy - 高風(fēng)險(xiǎn)     

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

......

memset(dest,0,MAX_SIZE);

strncpy(dest,src,MAX_SIZE-1);

......

12.strcat - 高風(fēng)險(xiǎn) 

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

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

......

13.wcscat - 高風(fēng)險(xiǎn)      

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

......

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

......

14._mbscat - 高風(fēng)險(xiǎn)    

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest的大小和源緩存區(qū)src的長度,dest首先以0賦值,以保證0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

unsigned char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

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

......

15._tcscat - 高風(fēng)險(xiǎn)      

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

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

......

16.StrCat - 高風(fēng)險(xiǎn)      

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

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

......

17.StrCatA - 高風(fēng)險(xiǎn)    

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

......

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

......

18.StrCatW - 高風(fēng)險(xiǎn)   

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚目標(biāo)緩存區(qū)dest所剩下的大小和源緩存區(qū)src的長度,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_t dest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

......

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

......

19.sprintf - 高風(fēng)險(xiǎn)      

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

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

......

20.wsprintf - 高風(fēng)險(xiǎn)   

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

21.wsprintfA - 高風(fēng)險(xiǎn) 

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

22.wsprintfW - 高風(fēng)險(xiǎn)

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

wnsprintf(dest,MAX_SIZE-1,pszFmt);

......

23.vsprintf - 高風(fēng)險(xiǎn)    

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

char dest[MAX_SIZE];

memset(dest,0,MAX_SIZE);

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

......

24.vswprintf - 高風(fēng)險(xiǎn)  

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

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

......

25.swprintf - 高風(fēng)險(xiǎn)   

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

wchar_tdest[MAX_SIZE];

wmemset(dest,0,MAX_SIZE);

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

......

26._stprintf - 高風(fēng)險(xiǎn)   

危險(xiǎn):

它沒有安全檢查措施,很容易導(dǎo)致緩沖區(qū)溢出.

建議:

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

前提是,我們必須清楚寫入目標(biāo)緩存區(qū)dest的長度必須小于dest的大小,同時(shí)保證函數(shù)執(zhí)行后dest以0結(jié)尾.否則還是將會導(dǎo)致不可預(yù)料的結(jié)果.

例子:

......

TCHAR dest[MAX_SIZE];

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

_sntprintf(dest,MAX_SIZE-1,pszFmt);

......

到此,相信大家對“C++高風(fēng)險(xiǎn)函數(shù)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁名稱:C++高風(fēng)險(xiǎn)函數(shù)有哪些
分享網(wǎng)址:http://bm7419.com/article14/pssjde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷微信小程序、網(wǎng)站改版企業(yè)網(wǎng)站制作、全網(wǎng)營銷推廣、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)