文章插图
“strncpy”的用法如下:
strncpy 是 C语言的库函数之一 , 来自 C语言标准库 , 定义于 string.h , char *strncpy(char *dest, const char *src, int n) , 把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中 , 并返回dest 。
一、功能:
(c/c++)复制字符串src中的内容(字符 , 数字、汉字....)到字符串dest中 , 复制多少由size_t n的值决定 。如果src的前n个字符不含NULL字符 , 则结果不会以NULL字符结束 。如果n<src的长度 , 只是将src的前n个字符复制到dest的前n个字符 , 不自动添加'\0' , 也就是结果dest不包括'\0' , 需要再手动添加一个'\0' 。如果src的长度小于n个字节 , 则以NULL填充dest直到复制完n个字节 。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符长度+'\0' 。
二、strcpy、strncpy与memcpy的区别与使用方法:
1、memcpy函数
void*memcpy(void *s1,const void *s2,size_tn);
说明:
【“strncpy”的用法是什么?】函数memcpy从s2指向的对象中复制n个字符到s1指向的对象中 。如果复制发生在两个重叠的对象中 , 则这种行为未定义 。
返回值:函数memcpy返回s1的值 。
2、strcpy函数
char*strcpy(char *s2, const char *s1);
说明:
函数strcpy把s1指向的串(包括空字符)复制到s2指向的数组中 。如果复制发生在两个重叠的对象中 , 则这种行为未定义 。
返回值:函数strcpy返回s2的值 。
3、strncpy函数
char*strncpy(char *s2, const char *s1, size_t n);
说明:
函数strncpy从s1指向的数组中最多复制n个字符(不复制空字符后面的字符)到s2指向的数组中 。如果复制发生在两个重叠的对象中 , 则这种行为未定义 。如果s1指向的数组是一个比n短的字符串 , 则在s2定义的数组后面补空字符 , 直到写入了n个字符 。
推荐阅读
- 为啥妇女节Women's Day要用复数 妇女节 英文
- “谭”字组词有哪些?
- 趾高气扬的“扬”字是什么意思?
- ‘仇’字的多音字多什么?
- “manufacture”是什么意思?
- “鑫”字怎么读?
- 急!请问PSP<秋之回忆-雨后>的汉化补丁怎么使用?
- 毛里求斯:斯特凡·巴克兰
- “罗盈盈”和“袁安”共有多少笔画
- “筠”字到底读什么?