2020-09-18

字符串处理函数—strcpy和strncpy
拷贝字符串,strncpy对于拷贝的长度有限制,有效防止strcpy可能会出现的越界问题

strcpy函数拷贝时包含结束符‘\0’
先来一段strcpy的应用:
#include<stdio.h>
#include<string.h>
int main(){
char str1[ ]=“This is a new start!”;
char str2[ ]=“A good start”;
printf("%s\n",str1);
printf("%s\n\n",str2);
strcpy(str1,str2);

printf("复制后:\n");
printf("%s\n",str1);
printf("%s\n",str2);
return 0;

}
运行结果:在这里插入图片描述

再换一个strnpy函数,这个函数需要手动加结束符:

#include<stdio.h>
#include<string.h>
int main(){
char str1[]=“This is a new start!”;
char str2[]=“A good start”;
printf("%s\n",str1);
printf("%s\n\n",str2);
strncpy(str1,str2,6);
str1[6]=’\0’;

printf("复制后:\n");
printf("%s\n",str1);
printf("%s\n",str2);
return 0;

}
在这里插入图片描述

附赠一段小甲鱼老师的代码,感觉很清楚
#include <stdio.h>
#include <string.h>

int main()
{
char str1[] = “To be or not to be”;
char str2[40];
char str3[40];

    strncpy(str2, str1, sizeof(str2));
    strncpy(str3, str2, 5);
    str3[5] = '\0';

    printf("%s\n", str1);
    printf("%s\n", str2);
    printf("%s\n", str3);

    return 0;

}
运行结果:在这里插入图片描述

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页