strncpy
strncpy 是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, const char *src, int n),把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest。
格式
函数原型char*strncpy(char*dest,char*src,size_tn);
功能
(c/c++)复制字符串src中的内容(字符,数字、汉字....)到字符串dest中,复制多少由size_tn的值决定。如果src的前n个字符不含NULL字符,则结果不会以NULL字符结束。如果n<src的长度,只是将src的前n个字符复制到dest的前n个字符,不自动添加'\0',也就是结果dest不包括'\0',需要再手动添加一个'\0'。如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符长度+'\0'。举例:
#include<cstdio>
#include <iOStream>
#include<cstring>
using namespace std ;
int main()
{
char a[100] = {"Python is a good language"};
char b[100] ;
memset(b,0,sizeof(b)) ;
strncpy(b,a+1,10); // 从a+1 这个位置开始10个字符复制到b中
b[9]='\0';
printf("%s\n",b);
return 0 ;
}
文章最后发布于: 2019-02-12 12:07:12
相关阅读
首先说下strcpy strcpy()是依据源串的\0作为结束判断的,不检查copy先的Buffer的Size,如果目标空间不够,就有BufferOverflow问题。s
strncpy函数介绍 1:strncpy是 C语言的库函数之一,来自 C语言标准库,定义于 string.h,char *strncpy(char *dest, const char *src, i
C++中strncpy函数和strncpy_s函数的使用及注意事项
在掌握了strcpy函数和strcpy_s函数之后,我们不可避免地会谈到strncpy函数和strncpy_s函数,其实这四个函数的功能几乎一致,就是对两个