欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于vs strcpy_s()和strcat_s()用法探究

 更新時間:2020年05月15日 15:03:46   作者:that good  
這篇文章主要介紹了關(guān)于vs strcpy_s()strcat_s()用法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在vs 2019版本中 如果使用 strcpy()與strcat() 都會警告

大意說這個 strcpy()因為空間分配的 這個函數(shù)不安全 不建議用這個函數(shù) 

大意說這個 strcpy()因為空間分配的 這個函數(shù)不安全 不建議用這個函數(shù),strcat()也是這樣。當(dāng)然錯誤c4996完全可以通過代碼 讓它不提示,但是它確實不安全 不如學(xué)習(xí)一下新函數(shù)的用法。

strcpy_s()

老的 strcpy(D,S)就是把S數(shù)組復(fù)制給D,返回D。 但是S的空間比D大的話 這就會發(fā)生錯誤。

在這里插入圖片描述 

這就是這個函數(shù)的機(jī)理strcpy_s()具體

errno_t strcpy_s
( char *strDestination, size_t numberOfElements, const char *strSource );


簡單說strcpy_s(D,sizeof(S)+1,S) 把S復(fù)制給D 把S的大小也給D 返回D.

strcat_s

老的機(jī)理strcat()

在這里插入圖片描述

新的用法

strcat_s(A,sizeof(A)+sizeof(B)+1,B) 很好理解 空間一定是兩個數(shù)組之和 再加一。

ps:下面給大家介紹下strcpy_s 和 strcat_s的用法

strcpy_s是系統(tǒng)的安全函數(shù),微軟在2005后建議用一系統(tǒng)所謂安全的函數(shù),這中間就有strcpy_s取代了strcpy,原來strcpy函數(shù),就象gets函數(shù)一樣,它沒有方法來保證有效的緩沖區(qū)尺寸,所以它只能假定緩沖足夠大來容納要拷貝的字符串。所以用strcpy_s代替,下面有一個使用strcpy_s的例子:

char source[] = "Hello world !";
char destination[20] = {0};
strcpy_s(destination,sizeof(destination)/sizeof(destination[0]),source);

strcpy_s是以字節(jié)為單位的參數(shù),它用來確認(rèn)緩沖區(qū)大小。這允許strcpy_s函數(shù)可以進(jìn)行運行時檢查,以確定寫入的字符沒有超過目標(biāo)緩沖區(qū)的邊界。所以它比strcpy好用,我還知道其他系統(tǒng)安全函數(shù)是在本來函數(shù)的后面加上“_s”,還有個遺憾就是用visual c++6.0沒法編譯strcpy_s函數(shù),可能是因為他太新吧 

原型聲明:extern char *strcpy(char *dest,char *src);  

頭文件:string.h 

功能:把src所指由NUL結(jié)束的字符串復(fù)制到dest所指的數(shù)組中。

說明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來容納src的字符串。  

返回指向dest的指針。

 strcat_s脫胎于strcat,用于兩個字符串的鏈接,strcat(str1,str2)直接返回新的str1.但在vs2005后,為了安全起見,重新添加了些功能和api和以前不同。比如strcat_s.為什么是安全起見呢?對于老的你添加str2的時候如果st1溢出怎么辦?很明顯這就是需要改進(jìn)的地方。所以新的strcat_s規(guī)定,有三個參數(shù),必須指定str1的大小。所以應(yīng)該這么來

 char string[20]="123";
 strcat_s(string,sizeof(string),"456");
 printf("%s",string);這樣20個元素,足夠裝下123456了。

原型  extern char *strcat(char *dest,char *src);用法  #include <string.h>  

在C++中,則存在于<cstring>頭文件中。

功能  把src所指字符串添加到dest結(jié)尾處(覆蓋dest結(jié)尾處的'\0')并添加'\0'。

說明  src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足

夠的空間來容納src的字符串。   

返回指向dest的指針。

總結(jié)

到此這篇關(guān)于關(guān)于vs strcpy_s()strcat_s()用法的文章就介紹到這了,更多相關(guān)vs strcpy_s()strcat_s()用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)線性表有序表的合并方式(順序表實現(xiàn)and鏈表實現(xiàn))

    C++實現(xiàn)線性表有序表的合并方式(順序表實現(xiàn)and鏈表實現(xiàn))

    這篇文章主要介紹了C++實現(xiàn)線性表有序表的合并方式(順序表實現(xiàn)and鏈表實現(xiàn)),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 用C++編寫擴(kuò)展node.js(node-ffi版)

    用C++編寫擴(kuò)展node.js(node-ffi版)

    今天小編就為大家分享一篇關(guān)于用C++編寫擴(kuò)展node.js(node-ffi版),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++淺析數(shù)據(jù)在內(nèi)存中如何存儲

    C++淺析數(shù)據(jù)在內(nèi)存中如何存儲

    使用編程語言進(jìn)行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么
    2022-08-08
  • visual studio 2019編譯c++17的方法

    visual studio 2019編譯c++17的方法

    這篇文章主要介紹了visual studio 2019編譯c++17的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • opencv3.0識別并提取圖形中的矩形的方法

    opencv3.0識別并提取圖形中的矩形的方法

    這篇文章主要介紹了opencv3.0識別并提取圖形中的矩形的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺談C++標(biāo)準(zhǔn)庫

    淺談C++標(biāo)準(zhǔn)庫

    C++標(biāo)準(zhǔn)庫是一組C++模板類,提供了通用的編程數(shù)據(jù)結(jié)構(gòu)和函數(shù),本文簡單講解C++標(biāo)準(zhǔn)庫包含的一些內(nèi)容,可能會對小伙伴的學(xué)習(xí)或工作有一定的幫助,大家一起來看看吧
    2021-08-08
  • C++中封裝與信息隱藏的詳解及其作用介紹

    C++中封裝與信息隱藏的詳解及其作用介紹

    這篇文章主要介紹了C++中封裝與信息隱藏的詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 一文帶你入木三分地理解字符串KMP算法以及C++實現(xiàn)

    一文帶你入木三分地理解字符串KMP算法以及C++實現(xiàn)

    KMP算法是一種改進(jìn)的字符串匹配算法,KMP算法的核心是利用匹配失敗后的信息,盡量減少模式串與主串的匹配次數(shù)以達(dá)到快速匹配的目的。本文就來和大家聊聊KMP算法的原理與實現(xiàn),需要的可以參考一下
    2022-12-12
  • 如何實現(xiàn)一定概率選中某一個字母

    如何實現(xiàn)一定概率選中某一個字母

    本篇文章是對如何實現(xiàn)一定概率選中某一個字母的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++三元表達(dá)式詳情

    C++三元表達(dá)式詳情

    這篇文章主要介紹了C++三元表達(dá)式,文章圍繞C++三元表達(dá)式的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下,希望多你有所幫助
    2021-11-11

最新評論