1. 代码部分
#include <stdio.h> #include <string.h> #include <assert.h> char *mystrcpy(char *dest, const char *src) { assert( (NULL != dest) && (NULL != src) ); char *dst = dest; while( (*dst++ = *src++) != '\0') ; // *dst++; *dst; dst++; return dest; } int main() { char dest[100] = "hello"; char *src = "world"; printf("Original input is: %s\n", dest); printf("String copy output is: %s\n", mystrcpy(dest, src)); return 0; }
2. 实验结果
3
3. 拓展strncpy函数 的实现(主体部分)
// char *mystrncpy(char *dest, const char *src, size_t n) { size_t i; for (i = 0; i < n && src[i] != '\0'; i++) dest[i] = src[i]; for ( ; i < n; i++) dest[i] = '\0'; return dest; }