strncpy函式的用法

2021-06-18 07:41:06 字數 1180 閱讀 5203

zz : 

利用標準庫函式strncpy(),可以將一字串的一部分拷貝到另乙個字串中。strncpy()函式有3個引數:第乙個引數是目錄字串;第二個引數是源字串;第三個引數是乙個整數,代表要從源字串拷貝到目標字串中的字元數。以下是乙個用strncpy()函式拷貝字串的一部分的例子:

#include #include int main (void)

, dest_str2[40]= ;

// use strncpy() to copy only the first 11 characters.

strncpy(dest_strl, source_str, 11);

printf("how about that! dest_strl is now: %s\n", dest_strl);

// now, use strncpy() to copy only the last 13 characters.

strncpy(dest_str2, source_str + strlen(source_str) - 13, 13);

printf("whoa! dest_str2 is now: %s\n", dest_str2);

return 0;

}

在上例中,第一次呼叫strncpy()函式時,它將源字串的頭11個字元拷貝到dest_str1中,這是一種相當直接的方法,你可能會經常用到。第二次呼叫strncpy()函式時,它將源字元

串的最後13個字元拷貝到dest_str2中,其實現過程為:

(1)用strlen()函式計算出source_str字串的長度,即strlen(source_str)。

(2)將source_str的長度減去13(13是將要拷貝的字元數),得出source_str中剩餘的字元數,即pstrlen(source_str)-13。

(3)將strlen(source_str)-13和source_str的位址相加,得出指向source_str中倒數第13個字元的位址的指標,即source_str+(strlen(source_str)-13)。這個指標就是strncpy()函式的第二個引數。

(4)在strncpy()函式的第三個引數中指定要拷貝的字元是13。

模板 strncpy函式

strncpy是 c語言的函式之一,來自 c語言標準庫,定義於 string.h,char strncpy char destin,char source,int maxlen 把src所指由null結束的字串的前n個位元組複製到dest所指的陣列中。1 2 3 標頭檔案 include char ...

strncpy函式使用

dest 表示複製的目標字元陣列 src 表示複製的源字元陣列 n 表示複製的字串長度。char mystr null uint8 i 0 uint32 cnt 0 uint8 sub 16 mystr strstr pbuffer,data cnt strlen mystr strncpy sub...

strncpy和strcpy的用法區別

strcpy 字串複製 原型 char strcpy char dest,char src 功能 把src所指由 0 結束的字串複製到dest所指的 陣列中。說明 src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字串。返回指向dest的指標。注意 當src串長度 de...