linux环境C开发系列1-一些函数

5 篇文章 0 订阅
随感:

时隔1个月,继续写博客。这期间进入了新行业、开始了新工作,进入了新环境,接触到新的氛围、工作方式和人群,一直在花时间在调整自己的状态以适应,所以没有更新!
最近想来想去,觉得还是需要继续将这个系列写下去,为了总结自己的过去,也为了自己的兴趣。

正文

这篇主要是之前学习linux环境下C开发时接触到的一些字符和内存操作函数。字符类的函数在使用的时候需要注意字符串的‘\0’结束符,以避免使用函数过程中出现缓冲区溢出的情况;内存函数需要注意内存函数能否同一个内存区域内操作,以避免发生异常行为。

常用函数作用
size_t strlen(const char *s)返回字符串s的长度,不包括结束符
char *strerror(int errornum)返回详细描述errornum的文本字符串指针
char *strchr(const char *s,char c)查找c所代表的字符在字符串s中首次出现的位置,成功则返回对应指针,失败返回NULL
char *strrchr(const char *s,char c)查找c所代表的字符在字符串s中最后出现的位置,成功则返回对应指针,失败则返回NULL
size_t strcspn(const char *s1,const char *s2)计算并返回字符串s1中不包含任何s2中字符的起始段长度
size_t strspn(const char *s1,const char *s2)计算并返回字符串s1中只包含s2中字符的起始段长度
char *strpbrk(const char *s1,const char *s2)计算字符串s2中任意字符在s1中出现的首位地址,成功则返回指针,失败则返回NULL
char *strstr(const char *s1,const char *s2)查找s2在s1中首次出现的位置
char *strtok(char *s1,const char *s2)用s2将字符串s1分割成一系列标号
int strcmp(const char *s1,const char *s2)比较s1和s2,逐个比较字符串中字符,直到出现大小
intstrncmp(const char *s1,const char *s2,int n)比较字符串s1和s2的前n个字符
char *strcpy(char *s1,const char *s2)将字符串s2拷贝到字符串s1中,注意缓冲区溢出!
char *strncpy(char *s1,const char *s2,int n)将字符串s2的前n个字符拷贝到字符串s2中,注意缓冲区溢出以及新字符串的结束符
char *strcat(char *s1,const char *s2)将s2的字符串追加到s1中
char *strncat(char *s1,const char *s2,int n)将s2的前n个字符追加到s2中
=============================================
void *memcpy(void *s1,const void *s2,size_t n)将内存块s2内的n个字符复制到s1中,注意该函数不能用于s1和s2不能有重叠区域,否则会有异常行为!
void *memmove(void *s1,const void *s2,size_t n)将内存块s2内的n个字符复制到临时空间中,再复制到s1中
int memcmp(const void *s1,const void *s2,size_t n)将s1和s2的前n个字符进行比较大小并返回结果
void *memchr(const void *s1,int c,size_t n)在s1的前n个字符在红查找字符c的位置,成功则返回指针,失败则NULL
void *memset(void *s1,int c,size_t n)将c复制到内存块s1的前n个位置,并返回指针
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值