strcpy()和strncpy使用

关于strcpy()的使用可能有的时候存在一些误解,在linux下使用man手册得到该函数的形式为:

char *strcpy(char *dest, const char *src);

当调用了函数以后,dest指针指向字符串dest的首地址,并且这个地址作为返回值返回给调用者。

该函数的简单实现如下:

 char *
           strcpy(char *dest, const char *src)
           {
               size_t i;

               for (i = 0; i < n && src[i] != '\0'; i++)
                   dest[i] = src[i];

               return dest;
           }

 PS1:

strcpy是不安全的,因为strcpy拷贝src时遇到'/0'(数值0)就会结束拷贝, 这种‘缺陷’同样存在于strncpy函数,所以我们在拷贝包含数值0的数据时“不能”使用这两个函数,这也不能怪这两个函数,其实它们是为了拷贝纯字符串的,只是我们在使用的时候误用了而已!至于纯字节的拷贝最好还是选择memcpy。

你可能感兴趣的:(strcpy()和strncpy使用)