当前位置: 首页 > news >正文

C语言字符串函数学习 - hillo

字符串长度函数

#include <stdio.h>size_t mystrlen(const char *str);int main() {size_t re1, re2, re3;char str[] = "hello";re1 = mystrlen(str);re2 = mystrlen2(str);re3 = mystrlen3(str);return 0;
}size_t mystrlen(const char *str) {size_t cnt = 0;while(*str++) {cnt++;}return cnt;
}size_t mystrlen2(const char *str) {const char *ori = str;while (*str++) {}return str - ori -1;
}size_t mystrlen3(const char *str) {const char *ori = str;while(*str) {str++;}return str - ori;
}

字符串比较函数

/**
* @brief 比较两个字符串大小
* @param str1 第一个字符串
* @param str2 第二个 字符串
* @return int 返回两个字符串第一个不一样的字符的差值
*/
int mystrcmp(const char *str1, const char *str2) {while (*str1 != '\0' && (*str1 == *str2)) {s1++;s2++;}return (int)*str1 - (int)*str2;
}

字符串复制函数

/**
* @brief 复制字符串到新的字符串数组
* @param dest 目标字符串位置
* @param src 源字符串
* @return 返回目标字符串位置
*/
char *strcpy(char *dest, char *src) {char *temp = dest;while ((*temp++ = *dest++) != '\0');return dest;
}

字符串追加函数

/**
* @brief 字符串追加函数
* @param dest 目标追加位置
* @param src 源字符串
* @return 目标位置指针
*/
char *mystrcat(char *dest, const char *src) {char *temp = dest;while (*temp != '\0') {temp++;}while ((*temp++ = *src++) != '\0') {}return dest;
}

字符串查找函数

/**
* @brief 字符串查找函数
* @param src 要查找的字符串
* @param c 要查找的字符
* @return 返回字符所在的地址
*/
char *mystrchr(const char *src, int c) {char target_char = (char)c;while (*src != '\0') {if (*src == c) {return (char *)src;}src++;}if (target_char == '\0') {return (char *)src;}return NULL;	
}
http://www.jsqmd.com/news/65648/

相关文章:

  • 实用工具:担心腾讯ACE把你的硬盘扫坏了?用DiskGenius一分钟检测硬盘是否损坏
  • 百度之星 2025 游记
  • 北京上门收酒服务权威推荐榜,四家机构获评优质服务商
  • 20232406 2024-2025-1 《网络与系统攻防技术》实验八实验报告
  • Win10最终版下载 d485系统站
  • AI元人文构想全维解读:从意义行为原生到文明共生体
  • 一分钟教你限制腾讯游戏ACE扫盘:告别硬盘损耗与游戏卡顿的完整指
  • 一文读懂激活函数
  • P2163 [SHOI2007] 园丁的烦恼 做题笔记
  • 【Linux篇】信号从哪来?到哪去?—— Linux信号的产生方式与保存机制 - 实践
  • 20232424 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • 北京上门收酒机构调研排行:四家靠谱机构推荐,藏家变现别踩坑
  • fhq-Treap学习笔记
  • Qt Thread and Worker
  • 2025成都最新旧房装修改造公司 TOP5 评测!金牛等十区装修品牌行业数据市场口碑及选择指南,环保整装 + 品质施工权威榜单发布,匠心赋能焕新理想居家环境
  • 酵母双杂交(膜系统)服务:解锁膜蛋白互作密码,赋能药物研发与机制研究
  • 解码常对象与运算符重载
  • 2025最新成都二手房装修公司top5推荐!成都优质家装品牌权威榜单发布,环保健康与品质工艺双保障助力理想家居焕新
  • 实操教程:MindSpore中确定神经网络隐藏层与输出层神经元数量
  • 【3FS】条带化
  • 一文读懂MindSpore的construct方法:神经网络的“自动流水线”
  • 洛谷U639316 最长子串询问 题解 字符串哈希+二分
  • AI规范编程 - specify-Kit
  • 2025最新成都精装房装修公司TOP5评测!一站式服务+品质保障,成都十区装修服务商权威榜单发布,重塑居家生活新体验
  • why North Korean are extremely anti-American, and think Nihon is a puppet of A.
  • 可变参数模版中的折叠表达式
  • scikit-learn 能否做深度学习?——兼谈不同神经元数量的模型对比实验实现
  • 吟诗一首
  • 二分查找
  • 深入解析USB侦探:数字取证数据流分析技术