天天看點

strncpy:複制源字元串的前n位,到另一個字元串中

//strncpy

///原型:extern char *strncpy(char *dest, char *src, int n);

///功能:把src所指由NULL結束的字元串的前n個位元組複制到dest所指的數組中,取代dest

/// 中最前面的n個字元。

///說明:如果src的前n個位元組不含NULL字元,則結果不會以NULL字元結束。

/// 如果src的長度小于n個位元組,則以NULL填充dest直到複制完n個位元組。

/// src和dest所指記憶體區域不可以重疊且dest必須有足夠的空間來容納src的字元串。

/// 傳回指向dest的指針。

#include <stdio.h>  
#include <stdlib.h>  
char* strncpy(char *dest,char *src,unsigned int n){  
        char *strRtn=dest;  
        while(n && (*dest++=*src++)){  
                n--;  
        }  
        printf("n:%d/n",n);  
        if(n)  
        {  
                while(--n)  
                        *dest++;  
        }  
        return strRtn;  
}  
int main(){  
        char* dest=(char*)malloc(sizeof(char)*100);  
        char *src="helloworld!";  
        printf("%s/n",strncpy(dest,src,300));  
}  
           

繼續閱讀