日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用c语言编程实现strcpy,用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove

發布時間:2025/4/16 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用c语言编程实现strcpy,用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.模擬實現strcpy

#include

#include

#include

#include

char *my_strcpy(char *dst, const char *src)

{

assert(dst != null);

assert(src != null);

char *ret = dst;

while ((*dst++ = *src++) != '\0')

;

return ret;

}

int main()

{

char arr1[] = "hello world!!!";

char arr2[20];

my_strcpy(arr2, arr1);

printf("%s\n", arr2);

system("pause");

return 0;

}

2.模擬實現strcat

#include

#include

#include

char *strcat(char *dest, char const *src)

{

assert(dest);

assert(src);

char *temp = dest;

while (*dest)

{

dest++;

}

while (*src)

{

*dest++ = *src++;

}

*dest = '\0';

return temp;

}

int main()

{

char arr[50] = "i come from china!!";

char *p = " me too!!";

strcat(arr, p);

printf("%s", arr);

system("pause");

return 0;

}

3.模擬實現strcat

#include

#include

#include

int my_strcmp(const char *arr1, const char *arr2)

{

assert(arr1);

assert(arr2);

while (*arr1 == *arr2)

{

if (*arr1 == '\0')

{

return 1;

}

arr1++;

arr2++;

}

return *arr1 - *arr2;

}

int main()

{

char *s1 = "i am a student!";

char *s2 = "i am a student!";

int ret=my_strcmp(s1, s2);

if (ret == 1)

{

printf("兩個字符串相同!\n");

}

else{

printf("兩個字符串差值為:%d\n", ret);

}

system("pause");

return 0;

}

4.模擬實現memcpy

#include

#include

#include

#include

void *my_memcpy(void *dest, const void *src, size_t n)

{

assert(dest);

assert(src);

char *p = (char *)dest;

const char *q = (char *)src;

while (n--)

{

*p = *q;

p++;

q++;

}

return dest;

}

int main()

{

int arr1[100] = { 1,2,3,4,5,6,7,8,9,10,11 };

int arr2[100] = { 0 };

int i = 0;

int num;

printf("請輸入要拷貝的個數:");

scanf("%d", &num);

my_memcpy(arr2, arr1, 4*num);

for (i = 0; i < num; i++)

{

printf("%d ", arr2[i]);

}

printf("\n");

system("pause");

return 0;

}

5.模擬實現memmove

#include

#include

#include

#include

void *my_memcpy(void *dest, const void *src, size_t n)

{

assert(dest);

assert(src);

char *p = (char *)dest;

const char *q = (char *)src;

if (p > q && p < q + n)

{

while (n--)

{

*(p + n) = *(q + n);

}

}

else

{

while (n--)

{

*p = *q;

p++;

q++;

}

}

return dest;

}

int main( )

{

int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

int i = 0;

my_memcpy(arr+4, arr+2, 20);

for (i = 0; i < 10; i++)

{

printf("%d ", arr[i]);

}

printf("\n");

system("pause");

return 0;

}

總結

以上是生活随笔為你收集整理的用c语言编程实现strcpy,用c语言.模拟实现strcpy,strcat,strcat,memcpy,memmove的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。