#include<stdio.h>
#include<string.h>
//指针的知识和字符串相关知识
char *Mystrcpy(char *des,char *src)
{
if(des == NULL||src ==NULL){
return NULL;
}
char *bak = des;
while(*src != '\0'){
*des = *src;
des++;
src++;
}
}
char *Mystrcpy2(char *des,char *src)
{
if(des == NULL||src ==NULL){
return NULL;
}
char *bak = des;
while(*src != '\0'){
*des++ = *src++;
}
}
char *Mystrncpy3(char *des,char *src,int count)
{
if(des == NULL||src ==NULL){
return NULL;
}
char *bak = *des;
while(*src != '\0' &&count > 0)
{
*des++ = *src++;
count--;
}
//copy到des。但是p不变;
if(count>0){
while(count>0){
count--;
*des++ = '\0';//复制到\0停止,然后返回des的值
}
return des;
}
*des = '\0';//此时des指向的值是\0,所以读不出来,结束copy
return bak;
}
int main()
{
int count;
char *p="Welcome to come to Shantou!";
char b[128]={'\0'};
Mystrncpy3(b,p,8);//修改这里可以实现其他的函数调用;
puts(b);
return 0;
}
大家看代码并自己操练一下,应该对你的认知有帮助,谢谢支持!