激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

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

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

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

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

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

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

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

strcpy_s()

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

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

這就是這個函數的機理strcpy_s()具體

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

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

strcat_s

老的機理strcat()

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

新的用法

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

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

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

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

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

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

頭文件:string.h 

功能:把src所指由NUL結束的字符串復制到dest所指的數組中。

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

返回指向dest的指針。

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

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

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

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

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

說明  src和dest所指內存區域不可以重疊且dest必須有足

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

返回指向dest的指針。

總結

到此這篇關于關于vs strcpy_s()strcat_s()用法的文章就介紹到這了,更多相關vs strcpy_s()strcat_s()用法內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

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

延伸 · 閱讀

精彩推薦
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
主站蜘蛛池模板: 国产papa| 中文在线观看视频 | 高清国产在线 | 日本在线视频一区二区三区 | 日本不卡视频在线观看 | 一级黄色片武则天 | 红杏亚洲影院一区二区三区 | 一级做a爱片久久毛片a高清 | 性生活视频一级 | 一本色道久久99精品综合蜜臀 | 蜜桃视频在线播放 | 午夜精品成人 | 狠狠操人人干 | 久草在线综合 | 国产精品午夜一区 | av在线免费观看网 | 久久精品成人免费国产片桃视频 | 成人三级黄色片 | 黄色网址在线免费播放 | 久久久久久久久久美女 | 黄污免费网站 | 小视频免费在线观看 | 亚洲国产视频网 | 在线观看精品视频 | 久久精片| 亚洲成人精品在线 | 欧美一级黄色片免费观看 | xxxxhdvideosex| 鲁人人人鲁人人鲁精品 | 黄www片 | 精品无吗乱吗av国产爱色 | 青青草国产在线视频 | 亚洲综合网站 | 成人在线免费视频播放 | 韩国精品一区二区三区四区五区 | 羞羞漫画无遮挡观看 | 高清国产在线 | 自拍偷拍999 | 91在线视频网址 | 国产成人aⅴ | 56av国产精品久久久久久久 |