使用strcat_s函数的注意事项
生活随笔
收集整理的這篇文章主要介紹了
使用strcat_s函数的注意事项
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
---------------------------------------------
-- 時間:2018-12-15
-- 創建人:Ruo_Xiao
-- 郵箱:xclsoftware@163.com
---------------------------------------------
一、strcat_s
1、原型:
errno_t strcat_s(char *strDestination,size_t numberOfElements,const char *strSource );2、功能:把strSource所指字符串添加到strDestination結尾處(覆蓋strDestination結尾處的'\0')并添加'\0'。numberOfElements是strDestination的字符數組所占內存的空間大小。
二、注意事項
1、strSource字符數組的后面必須要有'\0'字符,否則該函數會一直拷貝strSource后面的字符,直至遇到'\0'。
2、numberOfElemets 是strDestination的buffer的大小。該buffer必須足夠大,滿足能夠存入strDestination和strSource字符。
三、源碼分析(linux-4.13.11 / lib / string.c)
char *strcat(char *dest, const char *src) {char *tmp = dest;while (*dest)dest++;while ((*dest++ = *src++) != '\0');return tmp; }說明:
char *tmp = dest;保存dest的地址,因為函數返回的是dest字符數組的首地址。
while (*dest)dest++;沿著dest向高地址遍歷,直至找到'\0'字符(ASCII碼為0),這段代碼執行完成之后,*dest = '\0'。
?
src的字符數組中的元素依次賦值到dest后面的內存空間,直至*src= '\0',同時,dest='\0'。*和++的組合用法請看鏈接:https://blog.csdn.net/itworld123/article/details/79955932
?
(SAW:Game Over!)
?
總結
以上是生活随笔為你收集整理的使用strcat_s函数的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cortex-M3 任务切换函数实例
- 下一篇: INVALID_HANDLE_VALUE