news 2026/4/23 20:47:23

Day28~实现strlen、strcpy、strncpy、strcat、strncat

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Day28~实现strlen、strcpy、strncpy、strcat、strncat

实现strlen、strcpy、strncpy、strcat、strncat

#include <stdio.h> size_t my_strlen(const char *src) { size_t len = 0; while (*src != '\0') { len++; src++; } return len; } char *my_strcpy(char *dest, const char *src) { if (dest == NULL || src == NULL) // 判断输入的字符是否为空 { return NULL; // 如果为空,就返回空 } char *temp = dest; // 将dest的地址赋值给一个临时变量 while (*src != '\0') // 遍历要拷贝的字符 { *temp = *src; // 将src的值赋给temp src++; // src地址后移 temp++; // temp地址后移 } *temp = '\0'; // 最后一位为\0 return dest; // 返回dest } char *my_strncpy(char *dest, const char *src, size_t n) { if (dest == NULL || src == NULL) { return NULL; } char *temp = dest; size_t i; for (i = 0; (i < n) && (*src != '\0'); i++) { *temp = *src; src++; temp++; } for (; i < n; i++) { *temp = '\0'; } return dest; } char *my_strcat(char *dest, const char *src) { if (dest == NULL || src == NULL) { return NULL; } char *temp = dest; while (*temp != '\0') { temp++; } while (*src != '\0') { *temp = *src; temp++; src++; } *temp = '\0'; return dest; } char *my_strncat(char *dest, const char *src, size_t n) { if (dest == NULL || src == NULL) { return NULL; } char *temp = dest; while (*temp != '\0') { temp++; } size_t i; for (i = 0; (i < n) && (*src != '\0'); i++) { *temp = *src; src++; temp++; } for (; i < n; i++) { *temp = '\0'; } return dest; } int main() { char dest[100] = "Hello World"; char src[100] = "Hello World"; // char *result1 = my_strcpy(dest, src); // char *result2 = my_strncpy(dest, src, 3); // size_t result = my_strlen(src); // char *result3 = my_strcat(dest, src); char *result4 = my_strncat(dest, src, 3); // printf("%s\n", result1); // printf("%s\n", result2); // printf("%ld\n", result); // printf("%s\n", result3); printf("%s\n", result4); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:54:30

【智能制造典型场景参考指引(2025 年版)解读】 -产品研发环节

智能制造作为制造业转型升级的核心驱动力&#xff0c;通过深度融合新一代信息技术与先进制造技术&#xff0c;推动生产模式向数字化、网络化、智能化方向演进。智能制造典型场景参考指引&#xff08;2025 年版&#xff09;旨在为制造业企业提供可落地的典型场景参考&#xff0c…

作者头像 李华
网站建设 2026/4/23 9:55:19

LeetCode 面试经典150题之合并两个有序数组

LeetCode 面试经典150题之合并两个有序数组 一、题目 1.题目描述 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非…

作者头像 李华
网站建设 2026/4/23 9:55:33

大模型落地加速:15+15+8精选资源清单助力开发者攻克技术难关

大模型落地加速&#xff1a;15158精选资源清单助力开发者攻克技术难关 【免费下载链接】LongAlign-7B-64k 项目地址: https://ai.gitcode.com/zai-org/LongAlign-7B-64k 在人工智能技术迅猛发展的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;正经历着从实…

作者头像 李华
网站建设 2026/4/23 9:28:40

算法综合训练:五类编程题深度解析与实践(收藏这一篇就够了)

算法综合训练&#xff1a;五类编程题深度解析与实践 引言 算法是计算机科学的核心&#xff0c;也是编程能力的重要体现。在实际编程和算法竞赛中&#xff0c;我们常常会遇到各种类型的题目&#xff0c;它们考察不同的算法思想和编程技巧。本文将通过五类共十四道编程题的详细解…

作者头像 李华