C语言学习笔记:strncpy strcpy memcpy字符串函数的用法和区别

strncpy strcpy memcpy字符串函数的用法和区别

一、函数说明

strncpy( )

头文件:string.h
函数原型:char *strncpy(char *dest, const char *source, size_t n)
函数作用:把 source 所指向的字符串复制到 dest,最多复制 n 个字符。当 source 的长度小于 n 时,dest的剩余部分将用空字节填充
返回值:返回最终复制的字符串

strcpy( )

头文件:string.h
函数原型:char* strcpy(char* dest, const char* source)
函数作用:把 source 指向的字符串复制到 dest。(必须保证 dest 足够大,能够容纳下 source,否则会导致溢出错误)
返回值:指向最终的目标字符串 dest 的指针

memcpy( )

头文件:string.h
函数原型:void *memcpy(void *dest, const void *source, size_t n)
函数作用:从存储区 source 复制 n 个字节到存储区 dest
返回值:指向目标存储区 dest 的指针

二、函数区别

  • 复制内容:strcpy和strncpy用于拷贝字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等
  • 指定长度:strcpy 与strncpy 和memcpy的区别在于长度判断,同时strcpy不能指定复制字符串的长度,而strncpy和memcpy可以指定长度
  • 遇’\0’判断:若遇到’\0’,strcpy与strncpy则会停止复制
  • 注意事项:dest指向的空间要足够拷贝;使用strcpy时,dest指向的空间要大于等于source指向的空间;使用strncpy或memcpy时,dest指向的空间要大于或等于n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值