c语言中的 strcpy和strncpy字符串函数使用介绍


1.strcpy函数

函数原型:char *strcpy(char *dst,char const *src)            必须保证dst字符的空间足以保存src字符,否则多余的字符仍然被复制,覆盖原先存储在数组后面的内存空间的数值,strcpy无法判断这个问题因为他无法判断字符数组的长度。

 1 #include <stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5 
 6     char message[5];
 7         int a=10;
 8     strcpy(message,"Adiffent");
 9     printf("%s %d",message,a);
10     return 0;
11 }

输出结果是Adiffent 10;因此使用这个函数前要确保目标参数足以容纳源字符串

2.strncpy函数:长度受限字符串函数

函数原型:char *strncpy(char *dst,char const *src,size_t len )       要确保函数复制后的字符串以NUL字节结尾,即1<len<sizeof(*dst)

 1 #include <stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5 
 6     char message[5];
 7         int a=10;
 8     strncpy(message,"Adiffent",2);//长度参数的值应该限制在(1,5)
 9     printf("%s %d",message,a);   //不包含1和5
10     return 0;
11 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM