linux系统编程——字符串操作函数
来源:互联网 发布:没见过如此敬业的淘宝 编辑:程序博客网 时间:2024/06/06 11:01
带删除线的表示不建议使用。
#include <strings.h>
int strcasecmp(const char *s1, const char *s2);
比较字符串,忽略字符大小写。
int strncasecmp(const char *s1, const char *s2, size_t n);
比较字符串,不忽略字符大小写。
建议使用strchr
建议使用strrchr
#include <string.h>
size_t strlen(const char *s);
将字符串src追加到dest结尾。如果dest或src为NULL,则段错误。
如果目的缓冲区dest大小小于strlen(dest)+strlen(src)+1,就会越界。
char *strncat(char *dest, const char *src, size_t n);
与strcat相似,除了,最多从src中拷贝n个字符,而且当src包含n个或n个以上字符时,不必以'\0'结尾。
如果n大于strlen(src)+1,则只会拷贝strlen(src)+1个字符,不会因为n大于strlen(src)+1而发生越界。
如果strlen(src)大于等于n,strncat()会写n+1个字符到dest的结尾,即dest的空间大小必须大于等于strlen(dest)+n+1,否则会发生越界。
如果strlen(src)小于n,strncat()会写strlen(src)+1个字符到dest的结尾,即dest的空间大小必须大于等于strlen(dest)+strlen(src)+1,否则会发生越界。
char *strchr(const char *s, int c);
返回指针,指向字符c第一次出现的地方。
char *strrchr(const char *s, int c);
返回指针,指向字符c最后一次出现的地方。
char *strstr(const char *haystack, const char *needle);
在字符串haystack中查找子串needle。
字符串比较,s1>s2,返回正整数;s1=s2,返回0;s1<s2,返回负整数。
如果s1长度大于s2,且s1前面的部分和s2完全相同,则s1>s2,返回正整数。
int strncmp(const char *s1, const char *s2, size_t n);
至多比较前n个字符。
char *strcpy(char *dest, const char *src);
如果dest大小小于strlen(src)+1,就会发生越界。
至多拷贝n个字符;
如果strlen(src)大于等于n,则拷贝n个有效字符,并不会再加'\0'。
如果src长度小于n,则把剩余的字节填充'\0',因此效率低下。
如果dest大小小于n,就会发生越界。
复制字符串,内部会调用malloc,所以返回的字符串需要调用free释放。
int strcoll(const char *s1, const char *s2);
根据LC_COLLATE进行字符串比较,如果是LC_COLLATE是“POSIX”或"C",strcoll和strcmp等价。
size_t strspn(const char *s, const char *accept);
返回字符串s开头连续包含字符串accept内的字符数目。
返回字符串s起始部分不在reject中的字符的个数。
char *strpbrk(const char *s, const char *accept);
在s中查找第一次出现的包含在accept中的字符,找不到返回NULL。
char *strtok(char *s, const char *delim);
从字符串s中导出标记。字符串s会被修改。
非线程安全;strtok_r()为可重入的版本。
与strtok()功能相同,兼容性不如strtok()好。
char *strfry(char *string);
使原来的字符串乱序。
- linux系统编程——字符串操作函数
- Linux字符串操作函数
- Linux字符串操作函数
- Linux Shell编程(15)——操作字符串
- Linux常用C函数—内存及字符串操作篇
- Linux常用C函数—内存及字符串操作篇
- Linux常用C函数—内存及字符串操作篇
- Linux常用C函数—内存及字符串操作篇
- linux系统编程——文件操作总结(1)
- linux系统编程——文件操作总结(2)
- linux系统编程文件——文件操作总结(3)
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- Linux系统编程——系统调用之I/O操作(文件操作)
- Linux系统编程——系统调用之 I/O 操作(文件操作)
- linux系统编程——共享内存函数的使用方法
- linux系统编程——信号量相关函数的使用
- 深入剖析SolrCloud(二)
- C语言实现BMP格式图片的读写
- ArcGIS教程:任务助手管理器基本词汇
- Android源码目录结构详解
- 记第一次区域赛--鞍山之行
- linux系统编程——字符串操作函数
- shell中test命令用法详解
- Java入门类的大概轮廓整理
- Building Remote+Local *nix Develop Environment
- 查询字段值出现多次的字段值
- cannot restore segment prot after reloc: Permission denied问题
- 我心目中最好的框架组合是
- Leetcode: Largest Rectangle in Histogram
- UVA 562 - Dividing coins