size_t strlcpy(char *dst, const char *src, size_t siz)

{

   char *d = dst;  

       const char *s = src;  

       size_t n = siz;

        /* Copy as many bytes as will fit */  

        if (n != 0)

       {

            while (--n != 0)

     {   

       if ((*d++ = *s++) == '\0')     

        break;  

            }  

         }

  

        /* Not enough room in dst, add NUL and traverse rest of src */

    if (n == 0)

        {  

             if (siz != 0)    

                  *d = '\0'; 

            /* NUL-terminate dst */  

           while (*s++)    

              ;  

         }

 return(s - src - 1); /* count does not include NUL */

}

相关文章:

  • 2021-08-11
  • 2021-05-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2022-02-20
猜你喜欢
  • 2022-12-23
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2021-10-31
相关资源
相似解决方案