最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

大意說(shuō)這個(gè) strcpy()因?yàn)榭臻g分配的 這個(gè)函數(shù)不安全 不建議用這個(gè)函數(shù) 

大意說(shuō)這個(gè) strcpy()因?yàn)榭臻g分配的 這個(gè)函數(shù)不安全 不建議用這個(gè)函數(shù),strcat()也是這樣。當(dāng)然錯(cuò)誤c4996完全可以通過(guò)代碼 讓它不提示,但是它確實(shí)不安全 不如學(xué)習(xí)一下新函數(shù)的用法。

strcpy_s()

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

在這里插入圖片描述 

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

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


簡(jiǎn)單說(shuō)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) 很好理解 空間一定是兩個(gè)數(shù)組之和 再加一。

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

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

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

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

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

頭文件:string.h 

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

說(shuō)明:src和dest所指內(nèi)存區(qū)域不可以重疊且dest必須有足夠的空間來(lái)容納src的字符串?! ?/p>

返回指向dest的指針。

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

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

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

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

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

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

夠的空間來(lái)容納src的字符串。   

返回指向dest的指針。

總結(jié)

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

相關(guān)文章

  • C語(yǔ)言中遞歸的實(shí)際應(yīng)用與經(jīng)典問(wèn)題

    C語(yǔ)言中遞歸的實(shí)際應(yīng)用與經(jīng)典問(wèn)題

    函數(shù)以及函數(shù)的遞歸調(diào)用是學(xué)習(xí)C語(yǔ)言必須要掌握的內(nèi)容,且遞歸作為經(jīng)典的算法思想被廣泛應(yīng)用于程序設(shè)計(jì)中,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言中遞歸的實(shí)際應(yīng)用與經(jīng)典問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • C語(yǔ)言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲

    C語(yǔ)言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能(1)

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能(1)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能的第一部分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題記錄

    C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題記錄

    這篇文章主要介紹了C++中VTK9.3.0刻度標(biāo)簽重疊的問(wèn)題,本文采用VTK9.3.0版本,其他版本如VKT8.0亦有同樣的問(wèn)題,需要的朋友可以參考下
    2024-06-06
  • c++核心編程之函數(shù)的重載

    c++核心編程之函數(shù)的重載

    這篇文章主要介紹了c++核心編程之函數(shù)的重載,函數(shù)可以重復(fù)使用,提高了復(fù)用性,但前提是必須在一個(gè)作用域并且函數(shù)名稱相同,下面附代碼詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-03-03
  • 詳解C語(yǔ)言中write函數(shù)

    詳解C語(yǔ)言中write函數(shù)

    write函數(shù),是一個(gè)C語(yǔ)言函數(shù),功能為將數(shù)據(jù)寫入已打開(kāi)的文件內(nèi),這篇文章主要介紹了C語(yǔ)言中write函數(shù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 簡(jiǎn)明的C++函數(shù)指針學(xué)習(xí)教程

    簡(jiǎn)明的C++函數(shù)指針學(xué)習(xí)教程

    這篇文章主要介紹了C++函數(shù)指針的學(xué)習(xí)教程,講到了函數(shù)指針的定義及把指針作為函數(shù)參數(shù)進(jìn)行傳遞的用法,需要的朋友可以參考下
    2016-04-04
  • C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟

    C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟

    JSON是一種非常流行的數(shù)據(jù)格式,本文主要介紹了C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • C++實(shí)現(xiàn)添加桌面右鍵新建菜單

    C++實(shí)現(xiàn)添加桌面右鍵新建菜單

    本文給大家匯總了3個(gè)版本的C++實(shí)現(xiàn)添加桌面右鍵新建菜單的代碼,陸陸續(xù)續(xù)寫的,有需要的小伙伴可以根據(jù)自己的需求來(lái)選擇
    2016-01-01
  • C++類中六個(gè)默認(rèn)的成員函數(shù)詳解

    C++類中六個(gè)默認(rèn)的成員函數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于C++類中六個(gè)默認(rèn)的成員函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評(píng)論

那曲县| 修武县| 四川省| 明水县| 台前县| 舞阳县| 隆安县| 尉氏县| 罗山县| 缙云县| 轮台县| 贞丰县| 偃师市| 南皮县| 镇远县| 祁门县| 穆棱市| 宜川县| 凤阳县| 宁陕县| 安西县| 合山市| 繁昌县| 炉霍县| 额尔古纳市| 乐亭县| 衡山县| 玉环县| 陇川县| 中超| 仁布县| 岳阳县| 聂荣县| 红桥区| 上饶县| 留坝县| 宁阳县| 会同县| 安康市| 岳普湖县| 鄂托克前旗|