/**原型:extern char *strncpy(char *dest, const char *src, int n);*用法:#include <string.h>*功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。*说明:* 如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。* 如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。* src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。* 返回指向dest的指针。*编程实现strncpy*/#include <cstdio>#include <cassert> char * _strncpy(char * dest, const char * src, int count){ assert((dest != NULL)&&(src != NULL)); char * ret = dest; while(count-- && *src!='\0') *dest++ = *src++; *dest = '\0'; return ret;}int main(){ char str1[] = "To be or not to be"; char str2[40]; char str3[40]; _strncpy(str2,str1,sizeof(str1)); _strncpy(str3,str1,5); printf("str2 : %s\nstr3 : %s\n",str2,str3); getchar(); return 0;}
联系客服