C库函数中字符串处理函数集合

字符串处理函数:sscanf 的用法 一直对于一些日期字符串中数字的提取比较头疼,现看到 sscanf 对于字符串中的内容提取较方便,学习记录如下。方便以后查询。 阅读详情
C库函数中字符串处理函数集合

 

bcmp

 

原型:extern int bcmp(const void *s1, const void *s2, int n);
用法:#include <string.h>
功能:比较字符串s1和s2的前n个字节是否相等
说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。

 

bcopy    

 

原型:extern void bcopy(const void *src, void *dest, int n);
用法:#include <string.h>
   功能:将字符串src的前n个字节复制到dest中
   说明:bcopy不检查字符串中的空字节NULL,函数没有返回值。

 

bzero

 

   原型:extern void bzero(void *s, int n);
   用法:#include <string.h>
   功能:置字节字符串s的前n个字节为零。
   说明:bzero无返回值。

 

memccpy   

 

   原型:extern void *memccpy(void *dest, void *src, unsigned char ch, unsigned int count);
   用法:#include <string.h>
   功能:由src所指内存区域复制不多于count个字节到dest所指内存区域,如果遇到字符ch则停止复制。
   说明:返回指向字符ch后的第一个字符的指针,如果src前n个字节中不存在ch则返回NULL。ch被复制。
  
memchr  

   原型:extern void *memchr(void *buf, char ch, unsigned count);
   用法:#include <string.h>
   功能:从buf所指内存区域的前count个字节查找字符ch。
   说明:当第一次遇到字符ch时停止查找。如果成功,返回指向字符ch的指针;否则返回NULL。

 

memcmp

 

   原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);      
   用法:#include <string.h>
   功能:比较内存区域buf1和buf2的前count个字节。
   说明:
         当buf1<buf2时,返回值<0
         当buf1=buf2时,返回值=0
         当buf1>buf2时,返回值>0

 

memcpy

 

   原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
   功能:由src所指内存区域复制count个字节到dest所指内存区域。
   说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。

 

memicmp
  
   原型:extern int memicmp(void *buf1, void *buf2, unsigned int count);      
   用法:#include <string.h>
   功能:比较内存区域buf1和buf2的前count个字节但不区分字母的大小写。
   说明:memicmp同memcmp的唯一区别是memicmp不区分大小写字母。
         当buf1<buf2时,返回值<0
         当buf1=buf2时,返回值=0
         当buf1>buf2时,返回值>0

memmove
  
   原型:extern void *memmove(void *dest, const void *src, unsigned int count);     
   用法:#include <string.h>
   功能:由src所指内存区域复制count个字节到dest所指内存区域。
   说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。

 

memset

 

   原型:extern void *memset(void *buffer, int c, int count);      
   用法:#include <string.h>
   功能:把buffer所指内存区域的前count个字节设置成字符c。
   说明:返回指向buffer的指针。

 

movmem  

 

   原型:extern void movmem(void *src, void *dest, unsigned int count);      
   用法:#include <string.h>
   功能:由src所指内存区域复制count个字节到dest所指内存区域。
   说明:src和dest所指内存区域可以重叠,但复制后src内容会被更改。函数返回指向dest的指针。

setmem

 

   原型:extern void setmem(void *buf, unsigned int count, char ch);      
   用法:#include <string.h>
   功能:把buf所指内存区域前count个字节设置成字符ch。
   说明:返回指向buf的指针。

 

stpcpy
  
   原型:extern char *stpcpy(char *dest,char *src);    
   用法:#include <string.h>
   功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
   说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
         返回指向dest结尾处字符(NULL)的指针。

 

strcat

 

   原型:extern char *strcat(char *dest,char *src);      
   用法:#include <string.h>
   功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
   说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
         返回指向dest的指针。

 

strchr  

 

   原型:extern char *strchr(char *s,char c);   
   用法:#include <string.h>
   功能:查找字符串s中首次出现字符c的位置
   说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。
  
strcmp
   
   原型:extern int strcmp(char *s1,char * s2);    
   用法:#include <string.h>
   功能:比较字符串s1和s2。
   说明:
         当s1<s2时,返回值<0
         当s1=s2时,返回值=0
         当s1>s2时,返回值>0

 

stricmp,strcmpi   

 

   原型:extern int stricmp(char *s1,char * s2);      
   用法:#include <string.h>
   功能:比较字符串s1和s2,但不区分字母的大小写。
   说明:strcmpi是到stricmp的宏定义,实际未提供此函数。
         当s1<s2时,返回值<0
         当s1=s2时,返回值=0
         当s1>s2时,返回值>0

 

strcpy
  
   原型:extern char *strcpy(char *dest,char *src);    
   用法:#include <string.h>
   功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
   说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
         返回指向dest的指针。

 

strcspn

 

   原型:extern int strcspn(char *s1,char *s2);     
   用法:#include <string.h>
   功能:在字符串s1中搜寻s2中所出现的字符。
   说明:返回第一个出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。

 

strdup
   
   原型:extern char *strdup(char *s);     
   用法:#include <string.h>
   功能:复制字符串s
   说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。

strlen
  
   原型:extern int strlen(char *s);      
   用法:#include <string.h>
   功能:计算字符串s的长度
   说明:返回s的长度,不包括结束符NULL。

 

strlwr

 

   原型:extern char *strlwr(char *s);      
   用法:#include <string.h>
   功能:将字符串s转换为小写形式
   说明:只转换s中出现的大写字母,不改变其它字符。返回指向s的指针。


strncat

 

   原型:extern char *strncat(char *dest,char *src,int n);      
   用法:#include <string.h>
   功能:把src所指字符串的前n个字符添加到dest结尾处(覆盖dest结尾处的'/0')并添加'/0'。
   说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
         返回指向dest的指针。

 

strncmp

 

   原型:extern int strcmp(char *s1,char * s2,int n);     
   用法:#include <string.h>
   功能:比较字符串s1和s2的前n个字符。
   说明:
         当s1<s2时,返回值<0
         当s1=s2时,返回值=0
         当s1>s2时,返回值>0

 

strnicmp,strncmpi

 

   原型:extern int strnicmp(char *s1,char * s2,int n);    
   用法:#include <string.h>
   功能:比较字符串s1和s2的前n个字符但不区分大小写。
   说明:strncmpi是到strnicmp的宏定义
         当s1<s2时,返回值<0
         当s1=s2时,返回值=0
         当s1>s2时,返回值>0

 

strncpy
   
   原型:extern char *strncpy(char *dest, char *src, int n);      
   用法:#include <string.h>
   功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。
   说明:
         如果src的前n个字节不含NULL字符,则结果不会以NULL字符结束。
         如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。
         src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
         返回指向dest的指针。

 

strpbrk

 

   原型:extern char *strpbrk(char *s1, char *s2);      
   用法:#include <string.h>  
   功能:在字符串s1中寻找字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内。  
   说明:返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。

 

strrev
  
   原型:extern char *strrev(char *s);       
   用法:#include <string.h>
   功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。
   说明:返回指向颠倒顺序后的字符串指针。

 

strset

 

   原型:extern char *strset(char *s, char c);      
   用法:#include <string.h>
   功能:把字符串s中的所有字符都设置成字符c。
   说明:返回指向s的指针。

 

strstr

 

   原型:extern char *strstr(char *haystack, char *needle);     
   用法:#include <string.h>
   功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
   说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

strtok

 

   原型:extern char *strtok(char *s, char *delim);      
   用法:#include <string.h>
   功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。
   说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。
         strtok在s中查找包含在delim中的字符并用NULL('/0')来替换,直到找遍整个字符串。
         返回指向下一个标记串。当没有标记串时则返回空字符NULL。

 

strupr

 

   原型:extern char *strupr(char *s);      
   用法:#include <string.h>
   功能:将字符串s转换为大写形式
   说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

C语言总结七:表示字符串的两种方式—字符数组与字符指针详细总结 C语言并没有专用的字符串类型的数据类型来存储一个字符串,字符串是C语言中重要的一块基本理论,掌握好字符串可减少实际开发经常出现的错误,本篇博客详细全面总结字符数组与字符串的定义及基本的使用方法,以及常用的库函数和针对内存操作的内存函数。 阅读详情

相关推荐

AHP层次分析法在项目风险评估中的实战应用(含Excel模板)

本文详细介绍了AHP层次分析法在项目风险评估中的实战应用。通过构建风险层次模型、利用判断矩阵量化主观判断,并结合Excel工具进行权重计算与一致性检验,将模糊的定性风险转化为清晰的量化排序。文章以新产品上线项目为例,提供了完整的分析流程和可操作的Excel模板,帮助项目经理高效识别并优先处理核心风险。

weixin_29061465的博客 571

STM32串口中常用的字符函数strlen,strcmp,strstr详解及具体程序实现过程

传入参数:数组的首元素地址。返回值: 返回 '\0'之前所有字符个数 数据 类型为size_t无符号整形。传入参数:两个要比较字符串数组的首元素地址。返回值:str1>str2 返回大于0的数str1=str2 返回0str1

LEIWENHUI666的博客 6636

在 Ubuntu 22.04 上配置 SonarQube 与 CI/CD 流水线实现自动化代码审查

本文详细介绍了在Ubuntu 22.04系统上配置SonarQube并与CI/CD流水线集成的完整流程,实现自动化代码审查。从环境准备、数据库配置到核心参数调优,再到与Jenkins和GitHub Actions的深度集成,提供了实战技巧和性能优化建议,帮助团队提升代码质量监控效率。

weixin_28829325的博客 261

比较实用的三个字符串处理函数(STM32串口)

如果有漏洞,请大家留言继续修改 /* //函数名称:复制字符串 //参数:dest字符串容器,str被复制字符串,count复制长度 //返回值:无 // */ void my_strncpy(u8 *dest, u8 *src, int count)   {       u8 *tmp = dest;       while(count) {           if ((

花园王国---Garden kingdom 2万+

STM32F103C8T6+I2C+DMA读取陀螺仪模块JY901S(硬件I2C

说明:1.本实验代码适用移植一切stm32f1系列;2.本实验使用的是外设资源硬件I2C2;3.本实验运用的是DMA单次模式,如果需要DMA的循环模式,请移步我的另一篇文章;4.本文章不提供陀螺仪校准教学,并是在没有校准陀螺仪情况下读取数据;5.本文章是作者的学习记录及心得,如有不足,欢迎指正。 总结:亲测stm32f103c8t6最小系统板通过片上外设资源I2C配合DMA读去陀螺仪模块jy901s偏航角有效。

anquanyuanqqadsy的博客 6172

一文吃透 BMS:动力电池与储能共用的电池管控全架构详解

BMS作为电池系统的核心控制器,其技术深度和系统复杂性不容小觑。动力电池与储能系统虽然应用场景不同,但在核心架构上共享大量基础技术。成功的BMS设计需要在精度、可靠性、成本、功耗之间找到最佳平衡点。未来,随着电池技术的进步和智能化需求的提升,BMS将向着更高集成度、更强智能化、更优经济性的方向发展。无论是汽车工程师还是储能系统设计师,深入理解BMS的全栈架构,掌握其核心技术原理,都将是应对未来能源存储挑战的关键能力。核心要点回顾BMS采用分层分布式架构,硬件是基础,算法是灵魂。

小帽子的博客 341

STM32——C语言基础

C语言基础

asdf1234dfty的博客 4953

消费级显卡跑大模型:RTX 3060 12G 部署 70 亿参数 AI 编程助手的优化实战

本文详细介绍了如何在消费级显卡RTX 3060 12G上,通过量化、投机解码和分页KV-Cache等核心优化技术,成功部署并流畅运行70亿参数的CodeLlama-7B编程助手。文章提供了从环境配置、模型准备到参数调优的完整实战笔记,实测显存占用降至7.3GB,生成速度达21.7 token/秒,为开发者和技术爱好者提供了可行的本地AI部署方案。

weixin_29053067的博客 1261

【C语言】常用的字符串处理函数

介绍一下C语言常用的字符串处理函数。

Roger_717的博客 3113

47、利用组策略配置 Windows 防火墙与 IPsec 全解析

本文深入解析了如何利用组策略配置Windows防火墙与IPsec,涵盖防火墙规则基础、IPsec身份验证与加密机制、服务器和域隔离实现方法、WFAS中新旧IPsec规则的区别与配置流程,并详细说明了防火墙属性与规则的优先级计算方式。同时介绍了证书服务、EFS等未详述的安全功能及相关学习资源,帮助管理员通过组策略有效提升网络安全性。

onion的博客 103

基于STM32设计的便携式心电信号监测系统_146

基于STM32 设计的便携式心电信号监测系统,采用 PulseSensor 心率传感器进行数据采集,通过 LCD 显示屏显示心电数字数据和采集状态。同时,该系统还采用 HC05 蓝牙模块将实时心电信号数据传输到手机 APP,用户可以在手机 APP 上实时查看采集的数据并绘制心率曲线。此外,STM32 上的按键可以控制心率采集状态,用户登录手机 APP 还可以查看实时心电信号折线图。

1万+

STM32串口通信

前期点灯一直用得的都是库函数,数据手册看的也是似懂非懂。最近需要用到串口,有很多地方看不懂。所以又回来学习,通过寄存器点灯 让我更加理解了

m0_62886561的博客 409

利用CAT12做皮层指标的统计分析及可视化笔记记录

利用CAT12做皮层指标的统计分析及可视化 文章目录利用CAT12做皮层指标的统计分析及可视化前言一、统计步骤1.Basic Models2.Estimate Surface Models3.Results二、可视化1.t值可视化2.p值可视化 前言 本来没有打算做SBM的,因为自己是新手小白,许多操作都不太懂,但最后还是打算做一下,于是就从上周末开始将很久之前跑VBM得到的surf文件夹中的数据捡起来继续做皮层分析,因为之前看了一个博主的博客,关于如何做SBM已经讲得非常清楚了,但是在统计及可视化这里,我

weixin_52073820的博客 8094

C库函数中字符串处理函数集合(转)

C库函数中字符串处理函数集合 bcmp 原型:extern int bcmp(const void *s1, const void *s2, int n); 用法:#include <string.h> 功能:比较字符串s1和s2的前n个字节是否相等 说明:如果s1=s2或n=0则返回零,否则返回非零值。bcmp不检查NULL。 bcopy 原型:extern v...

weixin_30627381的博客 94

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C库函数中字符串处理函数集合(转)

C库函数中字符串处理函数集合 (转自优快云:http://blog.youkuaiyun.com/general1982/article/details/4012566)   bcmp   原型:extern int bcmp(const void *s1, const void *s2, int n); 用法:#include 功能:比较字符串s1和s2的前n个字节是否相等 说明:如

独步天下的博客 512

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C语言库函数集合(大全)

C语言库函数集合(大全) 【下载地址】C语言库函数集合大全 这是一份全面且实用的C语言库函数集合,涵盖了C语言标准库中的主要函数,包括输入输出、字符串处理、数学计算、内存管理、时间日期、数据类型转换、文件操作以及错误处理等类别。无论您是C语言初学者还是经验丰富的开发者,这份资源都能帮助您快速查找并掌握常用库函数的使用方法...

gitblog_06744的博客 514

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

C/C++常见库函数(巨详细)

该文章讲解C/C++的一些常用的库函数,超详细!!!

2303_76654613的博客 6404

【C语言】字符串处理函数:strtok和strerror

字符串处理函数:strtok和strerror讲解完毕,希望本章对大家有所帮助。C语言的娴熟运用需要多练勤练,大家快去练习把!!

2501_90303633的博客 1739

【转载】C语言字符串处理函数 - 大集合

void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。 void *memcpy (void *dest, const void *src, size_t n); 从s

GengLUT 699

c语言字符集合,C语言、C字符串处理函数集合.doc

C语言、C字符串处理函数集合#include#define ANum1 285#define ANum2 3500//printf(" %d %c \n", (int)'a', (char)123);//字符查看ASCⅡ表//printf(" %d %d \n", (int)"我"[0], (int)"我"[1]);//汉字查看ASCⅡ表//《构造函数部分》// Small_Num 求较小函数 求...

weixin_35135418的博客 189
上一篇: 类型之间的转换
下一篇: 未来五年程序员应当具备的十项技能
General1982
博客等级 码龄19年 14粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值