strcpy,strcat,strcmp-------长度不受限制的字符串函数(跟长度无关)
strncpy,strncat,strncmp--------长度受限制的字符串函数
一.函数的简介
1:strncpy:
char * strncpy ( char * destination, const char * source, size_t num (拷贝元素的个数));
这与strcpy函数都是字符串的拷贝,区别就是strncpy可以拷贝自定义的个数的内容
destination:目标空间
source:拷贝空间
size_t num:拷贝元素的个数
#include<stdio.h>
#include<string.h>
int main()
{
char arr[20]="abcdefg";
char brr[20]="hello";
strncpy(arr,brr,6);
printf("%s\n",arr);
return 0;
}
返回的类型字符指针类型,返回目标空间的首地址
2.:strncat:
char * strncat ( char * destination, const char * source, size_t num (追加元素的个数))
这与strcat函数都是字符串的追加,区别就是strncat可以追加自定义的个数的内容
destination:目标空间
source:拷贝空间
size_t num:追加元素的个数
#include<stdio.h>
#include<string.h>
int main()
{
char arr[20]="abcdefg";
char brr[20]="hello";
strncat(arr,brr,6);
printf("%s\n",arr);
return 0;
}
返回的类型字符指针类型,返回目标空间的首地址
3.:strncmp:
int strncmp ( const char * str1, const char * str2, size_t num(比较元素的个数) )
这与strcmp函数都是字符串的比较,区别就是strncmp可以比较自定义的个数的内容
str1:字符串的首地址
str2:字符串的首地址
size_t num:比较元素的个数
#include<stdio.h>
#include<string.h>
int main()
{
char arr[20]="abcdefg";
char brr[20]="ahello";
int ret=strncmp(arr,brr,1);
printf("%d\n",ret);
return 0;
}
返回的类型是整形,如第一个字符串大于第二个字符串返回整形负数,如第一个字符串等于第二个字符串返回整形零,如第一个字符串小于第二个字符串返回整形正数
二.注意事项
与strcpy,strcat,strcmp注意事项一致