C 库函数 - strncpy()

C 标准库 - <string.h>

描述

C 库函数 char *strncpy(char *dest, const char *src, size_t n) 把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。

声明

下面是 strncpy() 函数的声明。

char *strncpy(char *dest, const char *src, size_t n)

参数

  • dest -- 指向用于存储复制内容的目标数组。
  • src -- 要复制的字符串。
  • n -- 要从源中复制的字符数。

返回值

该函数返回最终复制的字符串。

实例

下面的实例演示了 strncpy() 函数的用法。在这里,我们使用函数 memset() 来清除内存位置。

#include <stdio.h>
#include <string.h>

int main()
{
   char src[40];
   char dest[12];
  
   memset(dest, '\0', sizeof(dest));  //清空dest
   strcpy(src, "This is runoob.com"); //将字符串This is runoob.com复制到src中
   strncpy(dest, src, 10);            //将src的前10个字符复制到dest中

   printf("最终的目标字符串: %s\n", dest);
   
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

最终的目标字符串: This is ru

注意:这其中要注意一个问题,就是要复制的字符数量不能超过dest的大小。

我用Pelles C IDE测试发现,即使超过dest大小限制也是可以输出的,但是结果未知,所以在引用该函数的时候需要谨慎对待!

猜你喜欢

转载自blog.csdn.net/thebestleo/article/details/81981144