詳解c語(yǔ)言中的 strcpy和strncpy字符串函數(shù)使用
strcpy 和strcnpy函數(shù)——字符串復(fù)制函數(shù)。
1.strcpy函數(shù)
函數(shù)原型:char *strcpy(char *dst,char const *src) 必須保證dst字符的空間足以保存src字符,否則多余的字符仍然被復(fù)制,覆蓋原先存儲(chǔ)在數(shù)組后面的內(nèi)存空間的數(shù)值,strcpy無(wú)法判斷這個(gè)問(wèn)題因?yàn)樗麩o(wú)法判斷字符數(shù)組的長(zhǎng)度。
#include <stdio.h> #include<string.h> int main() { char message[5]; int a=10; strcpy(message,"Adiffent"); printf("%s %d",message,a); return 0; }
輸出結(jié)果是Adiffent 10;因此使用這個(gè)函數(shù)前要確保目標(biāo)參數(shù)足以容納源字符串
2.strncpy函數(shù):長(zhǎng)度受限字符串函數(shù)
函數(shù)原型:char *strncpy(char *dst,char const *src,size_t len ) 要確保函數(shù)復(fù)制后的字符串以NUL字節(jié)結(jié)尾,即1<len<sizeof(*dst)
#include <stdio.h> #include<string.h> int main() { char message[5]; int a=10; strncpy(message,"Adiffent",2);//長(zhǎng)度參數(shù)的值應(yīng)該限制在(1,5) printf("%s %d",message,a); //不包含1和5 return 0; }
總結(jié)
以上所述是小編給大家介紹的c語(yǔ)言中的 strcpy和strncpy字符串函數(shù)使用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
簡(jiǎn)要介紹C++編程中的友元函數(shù)和友元類
這篇文章主要介紹了C++編程中的友元函數(shù)和友元類,屬于較為冷僻的知識(shí),在實(shí)際開(kāi)發(fā)中較少使用,需要的朋友可以參考下2015-09-09C++實(shí)現(xiàn)LeetCode(19.移除鏈表倒數(shù)第N個(gè)節(jié)點(diǎn))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(19.移除鏈表倒數(shù)第N個(gè)節(jié)點(diǎn)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07VS2019安裝cbd調(diào)試器的實(shí)現(xiàn)步驟
本文主要介紹了VS2019安裝cbd調(diào)試器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12