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