C语言中的strncpy

C语言中的strncpy函数是一个字符串函数,用于将一个字符串中的n个字符复制到另一个字符串。strncpy函数的语法是:

char *strncpy(char *destination, char *source, size_t n);

或者我们可以简单地写参数为(str1,str2,size);

  • 源:一个有效的字符串
  • 目标:函数将从源字符串复制字符到目标字符串。
  • n:您想从源复制的字符数。

C语言strncpy示例

此函数用于复制用户指定的字符串。该程序将帮助您通过多个示例了解strncpy方法。

提示:在使用此strncpy 函数之前,必须包含#include<string.h>头文件。

第一个语句会将str3中的所有字符复制到str1,因为C语言的长度小于给定的40个大小。

第二个语句会将str3中的前9个字符复制到str1,因为我们将大小限制为9。

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

int main()
{
   	char str1[50], str2[50], str4[50];
  
   	char str3[] = "C Programming Language ";
	
   	strncpy(str1, str3, 40);		
   	printf("\n The Final = %s", str1);
   
   	strncpy(str2, str3, 9);
   	printf("\n The Final  = %s", str2);
   	
 	memset(str4, '\0', sizeof(str4));
   	strncpy(str4, "Tutorial Gateway", 16);
   	printf("\n The Final = %s", str4);
   	
}
 The Final = C Programming Language 
 The Final = C Program
 The Final = Tutorial Gateway

C语言strncpy示例2

程序允许用户输入自己的字符数组。接下来,它将使用strncpy函数复制用户指定的字符串。

#include <stdio.h> 
#include<string.h>
 
int main()
{
	char str1[100], str2[100];
 
	printf("\n Please Enter the String that you want to Copy : ");
	gets(str2);	
	
	//memset(str1, '\0', sizeof(str1));
	strncpy(str1, str2, 7);
	
 	printf("\n The Final String after Copying = %s", str1);
	
}

尽管给定的字符串是有效的,但该函数仅复制了。这是因为我们将复制函数限制为前7个字符(包括空格)。

 Please Enter the String that you want to Copy : Learn C Programming

 The Final String after Copying = Learn C

我来更改Size值看看...

strncpy in C Programming Language to copy a string