如何区分使用strcpy和memset修改字符串的适用场景?

更新于
2026-10-10 03:58:25
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计160个文字,预计阅读时间需要1分钟。

如何区分使用strcpy和memset修改字符串的适用场景?

c// 原始代码void strcpy(char *dest, const char *src) { while ((*dest++=*src++));}

// 简化代码void simplified_strcpy(char *dest, const char *src) { while (*dest++=*src++);}

1.strcpy全部替换原字符串

如何区分使用strcpy和memset修改字符串的适用场景?

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { char arr1[] = "hello world"; char arr2[] = "##################"; //用arr1替换arr2 strcpy(arr2, arr1); printf("%s", arr2); return 0; }

strcpy在替换时会携带/0,把arr2变为hello world/0######

printf在打印字符串时读取到/0为止,所以只会打印hello world。

阅读全文

本文共计160个文字,预计阅读时间需要1分钟。

如何区分使用strcpy和memset修改字符串的适用场景?

c// 原始代码void strcpy(char *dest, const char *src) { while ((*dest++=*src++));}

// 简化代码void simplified_strcpy(char *dest, const char *src) { while (*dest++=*src++);}

1.strcpy全部替换原字符串

如何区分使用strcpy和memset修改字符串的适用场景?

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { char arr1[] = "hello world"; char arr2[] = "##################"; //用arr1替换arr2 strcpy(arr2, arr1); printf("%s", arr2); return 0; }

strcpy在替换时会携带/0,把arr2变为hello world/0######

printf在打印字符串时读取到/0为止,所以只会打印hello world。

阅读全文