该函数用于字符串的拷贝。
使用方法如下:
#include<stdio.h>
#include<string.h>
int main()
{
char str[10];
char* str1 = "abcd";
//strcpy(str, str1);//把str1复制到str,但此函数不安全所以用strcpy_s
strcpy_s(str, 10, str1);//目标的大小即str的大小
printf("%s\n", str);
return 0;
}
用一个自定义函数来实现strcpy函数
#include<stdio.h>
char* mystrcpy(char* str1, char* str2)
{
char* pmark = str1;
while (*str2!='\0')
{
*str1 = *str2;
str1++;
str2++;
}
*str1 = '\0';
return pmark;
}
int main()
{
char str[10];
char* str1 = "abcd";
mystrcpy(str, str1);
printf("%s\n",str);
return 0;
}
strncpy可规定复制字符串中的几个,而不是像strcpy那样全复制,但他同样不安全所以要用strncpy_s
使用方法如下:
#include<stdio.h>
#include<string.h>
int main()
{
char str[10];
char* str1 = "abcd";
strncpy_s(str,10,str1,2);//10为目标大小,2为要复制的个数
printf("%s\n", str);//会输出ab
return 0;
}
用一个自定义函数来实现strncpy
#include<stdio.h>
char* mystrncpy(char* str1, char* str2, int n)
{
for (int i = 0; i < n; i++)
{
str1[i] = str2[i];
}
str1[n] = '\0';
return str1;
}
int main()
{
char str[10];
char* str1 = "abcd";
mystrncpy(str, str1, 2);
printf("%s\n",str);
return 0;
}