C语言strncpy()函数:复制字符串中的n个字符

strncpy()函数

strncpy()是C语言标准库中的一个字符串复制函数,用于将一个字符串的n个字符复制到另一个字符串中;

头文件和函数原型

#include <string.h>
char* strncpy(char* restrict s1,
	const char* restrict s2,
	size_t n);

参数说明:

  • s1,目标字符串的指针,表示要将源字符串复制到的位置;
  • s2,源字符串的指针,表示要复制的字符串;
  • n,要复制的字符数;

描述

strncpy()函数的工作原理是将源字符串中的字符逐个复制到目标字符串中,直到达到指定的字符数n或者遇到源字符串的结束符'\0'

如果源字符串的长度小于n,则strncpy()会在目标字符串的剩余位置填充'\0'直到n个字符都被复制。目标字符串可能不会以'\0'结束,需要在使用strncpy()后手动将目标字符串的最后一个字符设置为'\0'

返回值

strncpy()函数返回目标字符串的指针,也就是s1的值;

示例代码

这段代码演示了如何将一个字符串的前5个字符复制到另一个字符串中;

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

int main() {
	
	char str1[] = "hello world!";
	char str2[20];
	
	strncpy(str2, str1, 5);
	str2[5] = '\0';
	
	printf("%s\n%d", str2, (int)strlen(str2));

}

程序运行结果

hello
5

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/c-functions/strncpy.html

分类: 计算机技术
推荐阅读:
SQL注入万能语句' or 1='1详解 ' or 1='1是SQL注入的万能语句,可以通过它轻松改变SQL语句的逻辑关系,从而产生背离原SQL语句的效果,比如绕过用户密码验证;
C程序生成长度32的随机十六进制字符串 在C语言中生成一个长度为32的十六进制随机字符串;大致方法为,生成一个十进制的数,然后转换成十六进制字符;
PySide6 使用QIcon为按钮添加图标 在PySide6中为按钮添加图标,可以使用QIcon类来加载图标文件,并使用QPushButton类的setIcon()方法将图标设置给按钮;
Python使用蒙特卡洛法计算圆周率 蒙特卡洛方法通过在单位正方形内随机生成点,并判断这些点是否在单位圆内的比例来估算圆周率。当随机点数量越多时,估算值越趋近于真实值。
Python id()函数 id()是Python内置函数之一,用于返回给定对象的唯一标识符(即对象在内存中的地址)。具体来说,id()函数返回一个整数,该整数代表给定对象在内存中的地址。因为每个对象在内存中都有一个唯一的地址,所以id()函数返回的值也是唯一的。
Golang Web编程入门示例 Go语言内置了Web服务;net/http 标准库中包含有关HTTP协议的所有功能。这其中包括HTTP客户端和HTTP服务端,在本文中,你将发现使用GO创建一个可在浏览器中查看的WEB服务程序非常简单。