国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - C/C++ - 關(guān)于vs strcpy_s()和strcat_s()用法探究

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

2021-09-06 15:00that good C/C++

這篇文章主要介紹了關(guān)于vs strcpy_s()strcat_s()用法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

strcpy_s()

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

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

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

  1. errno_t strcpy_s
  2. ( 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()

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

新的用法

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,原來strcpy函數(shù),就象gets函數(shù)一樣,它沒有方法來保證有效的緩沖區(qū)尺寸,所以它只能假定緩沖足夠大來容納要拷貝的字符串。所以用strcpy_s代替,下面有一個(gè)使用strcpy_s的例子:

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

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

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

  1. char string[20]="123";
  2. strcat_s(string,sizeof(string),"456");
  3. 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'。

說明  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)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/that_good/article/details/106093593

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www日韩| 亚洲视频精品一区 | 一区二区三区四区在线 | 亚洲精品黄色 | 四虎免费在线播放 | 欧美视频一二三区 | 99久久国语露脸精品对白 | av网站在线看 | 久久一区二区视频 | 欧美日韩在线免费观看 | 日韩在线中文 | 亚洲三级电影 | 91精品国产乱码久久久久久 | 久久久久久免费精品 | 久一久久 | 精品久久精品 | 精品久久国产老人久久综合 | 午夜剧场免费在线观看 | 欧美日韩精品一区二区三区蜜桃 | 欧洲精品一区 | 成人午夜毛片 | 国产羞羞视频免费在线观看 | 在线免费色视频 | 四虎影院网 | 91精品国产手机 | 国产高清亚洲 | 高清一区二区三区日本久 | 国产精品久久久 | 激情欧美日韩一区二区 | 曰韩中文字幕 | 欧美日韩成人在线观看 | 久久久免费视频观看 | 999精品视频| 久久91久久久久麻豆精品 | 国产精品观看 | 四虎av成人 | 欧美顶级毛片在线播放 | www.欧美 | 91视频 - 88av | 新91在线 | 久久国产免费 |