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

c语音进阶

字符函数和字符串函数

字符分类函数


表达式为真 返回非0整数;为假,返回0

字符转换函数


如果不是需要的字母 ,则不改变

字符串函数(头文件都是 string.h) strlen(计算字符串)

  1. string length(长度)
  2. **返回值 size_t(无符号整型 内存中以补码计算) 类型 接收 char* 指针(就是地址) **
  3. 字符串必须包含\0 返回值是字符串长度

strcpy(拷贝字符串)

  1. string copy(复制)
  2. char* 返回的是目标空间首地址,接收 char* 目标空间 和char* 类型的源头数据
  3. 源字符串必须有\0为结束标志
  4. 目标空间需要足够大,必须可以修改(*P=“ad”常量字符串不可修改)

strncpy(按位拷贝)

  1. 用法与strcpy一致 但是可以控制拷贝的字符个数
  2. 源字符串不强求 \0 但是不会自动加\0,如果源字符串字符不够 就补\0

strcat(末尾追加字符串)

  1. string concatenate(连接、拼接)
  2. char* 返回的是目标空间首地址,接收 char* 目标空间 和 char* 类型的源头数据
  3. 源字符串必须有\0为结束标志
  4. 目标空间需要足够大,必须可以修改(*P=“ad”常量字符串不可修改)

strncat

  1. 用法和strcat一致,但是可以控制追加的字符个数
  2. 源字符串不强求\0 会自动在末尾加\0,如果源字符串不够也不会补\0

strcmp(字符串比较)

  1. string compare(比较)
  2. 当str1>str2 返回0>;当str1<str2 返回0<;当str1=str2 返回0=
  3. 接收两个字符串 按位比较 当前ascll码值相等比下一个,直到“不同”或者“结束”

strncmp

  1. 用法和strcmp一样 但是可以控制最多比较字符的个数
  2. 比较时会灵活一些

strstr(查找字符串里的字符串)

  1. string string (字符串)
  2. char*是返回找到字符串的首地址,接收char*被查找字符串,接收char*要查找字符串
  3. 查找不到字符串时 返回NULL

strtok (分割字符串)

  1. string token(标点符号)
  2. char*返回当前分割字符串的首地址,没有更多子字符串时 返回NULL
  3. 首次调用传地址和分隔符 后续调用传NULL和分隔符

strerror(输出错误消息)

  1. string error(错误)把系统错误码转换成人能看懂的错误文本字符串
  2. 接收一个整型,再将对应的错误信息首地址存放到errno(全局变量,头文件errno.h)

perror

  1. perror==printf+strerror

c语言内存函数(string.h 头文件)

memcpy(内存块拷贝)

  1. memory copy(内存 拷贝)
  2. void* 返回目标首地址,接收void* 目标地址,接收void* 传输地址,接收size_t 个拷贝字节数量
  3. memcpy拷贝地址 不关注内容 如果地址有重叠 结果未定义

memmove (内存拷贝)

  1. memory move(内存 移动)
  2. 用法和memcpy一致 但是可以拷贝内存重叠
  3. memcpy只考了其中一种可能

memset (内存设置)

  1. memory sat (设置)
  2. void* 返回目标地址首地址;void接收要设置的内存空间;int 接收要设置的值,会强转为 unsigned char数据进行设置;size_t 接收要设置的内存空间*
  3. 如果想用于整形数组设置值 只能用于置0,因为他是以字节为单位设置 整形是四个字节 得出数字会很大
http://www.jsqmd.com/news/713021/

相关文章:

  • QCraft 于北京 2026 年中国国际汽车展览会重磅发布物理 AI 模型及 500+ TOPS 智能驾驶解决方案
  • 终极指南:使用OpenCore Legacy Patcher让老旧Mac安装最新macOS系统
  • CFPG框架:大语言模型叙事生成中的长程依赖解决方案
  • 2026国内10大靠谱移民公司排名推荐——附官网可查 - 品牌排行榜
  • 从0到1:企业级AI项目迭代日记 Vol.10|为什么团队都在忙,系统却越来越乱?
  • 终极免费屏幕标注工具:ppInk让Windows演示更简单高效
  • Phi-3-Vision-128K-Instruct快速上手:无需代码基础,轻松实现图片智能对话
  • LVGL(Light and Versatile Graphics Library,轻量级和通用图形库)
  • 如何实现Android应用级位置模拟:FakeLocation的精准定位管理方案
  • 终极Windows系统清理指南:3步彻底解决C盘爆红问题
  • 项目介绍 基于Python的笔记本电脑价格数据分析与可视化系统设计与实现(含模型描述及部分示例代码)专栏近期有大量优惠 还请多多点一下关注 加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢
  • 4-27午夜盘思
  • 如何快速同步多表数据至视图_使用SQL视图合并查询技巧
  • 氨氮分析仪源头实力厂家揭秘:2026年国内主流生产商研发与产能考察 - 陈工日常
  • 抖音无水印下载终极教程:5分钟快速上手douyin-downloader
  • 数据库性能飙升秘籍:SQL优化的10个实战案例与代码解析
  • Android性能系列专题理论之三:Perfetto数据读取方式
  • 如何用XXMI Launcher一站式管理6款热门游戏模组:终极完整指南
  • 如何让任何窗口始终置顶?PinWin终极指南帮你实现多窗口并行工作
  • 2025_NIPS_How Data Mixing Shapes In-Context Learning: Asymptotic Equivalence for Transformers wit...
  • 【沃尔玛购物卡回收渠道】哪个最靠谱?买家必看攻略 - 团团收购物卡回收
  • 混合专家模型Mixtral-8x7b架构解析与实践指南
  • 【Linux系统编程】进程控制(二)——进程等待
  • Qianfan-OCR Java面试题解析:如何设计一个高可用的OCR服务集群
  • 终极SketchUp STL插件实战指南:从3D设计到打印的完整解决方案
  • 互联网大厂 Java 求职面试:音视频与微服务的技术挑战
  • 2026年实测有效:4款AI工具高效提升降重效率 - 降AI实验室
  • RimSort:让RimWorld模组管理变得如此简单!告别冲突,享受流畅游戏体验
  • SenseVoice-Small ONNX多场景:图书馆有声书语音转文字+章节自动分割
  • 2026年国产氨氮分析仪十大厂家排名:核心技术突破与行业应用深度解析 - 陈工日常