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大小限制也是可以输出的,但是结果未知,所以在引用该函数的时候需要谨慎对待!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值