首先,兩者都是字串拷貝函式,不同的是兩個的引數個數不一樣。
char *strcpy(char *dest,const char *src)
char *strncpy(char *dest,const char *src,size_t count)
//表示可以從源拷貝多長
strcpy函式:若引數dest所指的記憶體空間不夠大,可能會造成緩衝溢位的錯誤;
strncpy 函式:用來複製源字串的n個字元,src和dest 所指的區域不能有重疊,並且dest必須有足夠空間存放,否則會出現越界和棧溢位的錯誤。
my_strncpy
(str1+
5,str1,4)
;
例如:strncpy在進行自我拷貝時會出現重疊區域
總結:strncpy
1、如果目標長》指定長》源長,則將源長全部拷貝到目標長,自動加上』\0』;
2、指定長《源長,則將源長中按照指定的長度拷貝到目標字串中,不包括』\0』;
3、若指定長》目標長執行錯誤
char
*my_strcpy
(char
* dest,
const
char
*src)
*cp=
'\0'
;return dest;
}
char
*my_strncpy
(char
*dest,
const
char
*src,size_t count)
while
(ireturn dest;
}
int,float,double型轉換深析
int整型 net中特指int32為32位長度符號整型變數 float 單精度浮點數32位長度1位符號位8位指數字與23位資料位 net中又稱為single double 64位長度雙精度浮點數1位符號位11位指數字52位資料位 它們互相關係就 int可以穩式轉換成float和double,floa...
Vue之元件(Props特性深析)
1 prop 的命名風格 前言 案例 要求所傳引數數值必須在18 50之間 validator為函式格式,且接收引數value即為props傳值大小,返回值為自定義校驗限制範圍 分類型別 基礎資料型別type校驗 多條件資料型別type校驗 必填項required校驗 預設值default校驗 自定...
strcpy函式與memcpy函式
strcpy函式與memcpy函式 6.2 字串與陣列 字串一般是用字元陣列的方式儲存,例如下面的str定義 char str 123456 這裡str是乙個字元陣列,它存放了乙個字串 123456 由於字串還有乙個結束符 0 所以此陣列的長度為7而不是6。6.2.1 strcpy函式與memcpy...