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

分类: 计算机技术
推荐阅读:
如何解压和压缩 .tar.gz 文件 .tar.gz 为后缀的文件是一种在Linux和macOS下常见的压缩文件,可直接使用tar命令进行解压或压缩;
Golang获取CPU物理核心数 在Go语言中,可使用runtime包中的NumCPU()函数获取CPU的物理核心数;
Kali更换国内源 默认情况下,kali系统使用的是官方提供的源,有的时候速度不错,有的时候速度不敢恭维,所以最好是将Kali源更改为国内的,这样安装软件和更新程序都可以享受到非常快的速度;
SSH证书登录提示WARNING: UNPROTECTED PRIVATE KEY FILE解决方法 使用SSH登录服务器时,出现 WARNING: UNPROTECTED PRIVATE KEY FILE! 提示,其原因是密钥文件权限太开放,SSH要求密钥文件不能被其他用户房访问;
Rust is_x86_feature_detected宏的用法和示例 在Rust中,is_x86_feature_detected宏用于在运行时检查CPU是否支持特定的指令集;例如,你可以用它来检查CPU是否支持SSE、AVX等指令集;
Python round()函数 在 Python 中,round() 函数用于将一个浮点数四舍五入到指定的小数位数。它可以接受两个参数:要四舍五入的浮点数和指定的小数位数(默认为 0)。