C庫函數char *strncpy(char *dest, const char *src, size_t n)從指向的字符串中複製最多 n 個字符,通過src至dest.如果 src 的長度小於 n 的長度,則 dest 的剩餘部分將用空字節填充。
字符數組稱為字符串。
聲明
以下是數組的聲明 -
char stringname [size];
例如 - char string[50];長度為 50 個字符的字符串
初始化
- 使用單字符常量 -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- 使用字符串常量 -
char string[10] = "Hello":;
Accessing− 有一個控製字符串 "%s" 用於訪問字符串,直到遇到“\0”。
strncpy() 函數
該函數用於將源字符串的 ‘n’ 個字符複製到目標字符串中。
目標字符串的長度大於或等於源字符串。
語法如下 -
strncpy (Destination string, Source String, n);
示例程序
以下是 strncpy() 函數的 C 程序 -
#include<string.h>
main ( ){
char a[50], b[50];
printf ("enter a string");
gets (a);
strncpy (b,a,3);
b[3] = '\0';
printf ("copied string = %s",b);
getch ( );
}
輸出
執行上述程序時,會產生以下結果 -
Enter a string:Hello Copied string = Hel
它還用於提取子字符串。
例子1
下麵的例子展示了 strncpy() 函數的用法。
char result[10], s1[15] = "Jan 10 2010";
strncpy (result, &s1[4], 2);
result[2] = ‘\0’
輸出
執行上述程序時,會產生以下結果 -
Result = 10
例子2
讓我們看另一個關於 strncpy 的例子。
下麵給出的是使用 strncpy 庫函數將 n 個字符從源字符串複製到目標字符串的 C 程序 -
#include<stdio.h>
#include<string.h>
void main(){
//Declaring source and destination strings//
char source[45],destination[50];
char destination1[10],destination2[10],destination3[10],destination4[10];
//Reading source string and destination string from user//
printf("Enter the source string:");
gets(source);
//Extracting the new destination string using strncpy//
strncpy(destination1,source,2);
printf("The first destination value is:");
destination1[2]='\0';//Garbage value is being printed in the o/p because always assign null value before printing O/p//
puts(destination1);
strncpy(destination2,&source[8],1);
printf("The second destination value is:");
destination2[1]='\0';
puts(destination2);
strncpy(destination3,&source[12],1);
printf("The third destination value is:");
destination3[1]='\0';
puts(destination3);
//Concatenate all the above results//
strcat(destination1,destination2);
strcat(destination1,destination3);
printf("The modified destination string:");
printf("%s3",destination1);//Is there a logical way to concatenate numbers to the destination string?//
}
輸出
執行上述程序時,會產生以下結果 -
Enter the source string:Tutorials Point The first destination value is:Tu The second destination value is:s The third destination value is:i The modified destination string:Tusi3
相關用法
- C語言 strncat()用法及代碼示例
- C語言 strncmp()用法及代碼示例
- C語言 strnset()用法及代碼示例
- C語言 strcspn()用法及代碼示例
- C語言 strtol()用法及代碼示例
- C語言 strrchr()用法及代碼示例
- C語言 strftime()用法及代碼示例
- C語言 strtok()用法及代碼示例
- C語言 strupr()用法及代碼示例
- C語言 strlen()用法及代碼示例
- C語言 strtod()用法及代碼示例
- C語言 strspn()用法及代碼示例
- C語言 strstr()用法及代碼示例
- C語言 strcat()用法及代碼示例
- C語言 strxfrm()用法及代碼示例
- C語言 strchr()用法及代碼示例
- C語言 strrev()用法及代碼示例
- C語言 strcmpi()用法及代碼示例
- C語言 strtok()、strtok_r()用法及代碼示例
- C語言 strerror()用法及代碼示例
注:本文由純淨天空篩選整理自Bhanu Priya大神的英文原創作品 What is strncpy() Function in C language?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。