各种C语言字符串操作,str....
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串操作
strchr
原型:char *strchr(const char* _Str,int _Val)
char *strchr(char* _Str,int _Ch)
头文件:#include
功能:查找字符串s中首次出现字符c的位置
说明:返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。
返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL
strcmp
原型:extern int strcmp(const char *s1,const char *s2);
C/C++函数,比较两个字符串
设这两个字符串为str1,str2,
若str1==str2,则返回零;
若str1>str2,则返回正数;
若str1 Strcoll 原型:int strcoll(const char *s1, const char *s2); 默认情况下(LC_COLLATE为"POSIX"或"C")和strcmp一样根据ASCII比较字符串大小。 对于设置了LC_COLLATE语言环境的情况下,则根据LC_COLLATE设置的语言排序方式进行比较。例如:汉字,根据拼音进行比较。 strcpy 原型:char *strcpy(char *dest, const char *src); 头文件:#include 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 strcspn 原型:size_t strcspn(const char *s, const char *reject); 头文件:#include 功能:顺序在字符串s1中搜寻与s2中字符的第一个相同字符,包括结束符NULL,返回这个字符在S1中第一次出现的位置。 说明:(返回字符串s1中第一个在s2中出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。) strdup 原型:char *strdup(const char *s); 功能: 将串拷贝到新建的位置处 strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。 返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值。 Strfry 原型:char *strfry(char *string); 头文件:#include 功能:strfry() 函数使用rand(3) 来随机交互string 的内容。其结果是string 内容被随机交换了。(译注:原文是“The result is an anagram of string”,我认为是错误的。) 。strfry() 函数返回随机化之后的字符串。 Strlen 原型:size_t strlen(const char *s); 头文件:#include 格式:strlen (字符数组名) 功能:计算字符串s的(unsigned int型)长度,不包括'\0'在内 说明:返回s的长度,不包括结束符NULL。 Strncat 原型:char *strncat(char *dest, const char *src, size_t n); 头文件:#include 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。 strncmp 原型:int strncmp(const char *s1, const char *s2, size_t n); 功能:这个函数用来比较s1和s2字符串,这个函数将返回一个值,它的符号与第一对不同的字符的比较结果相关。 如果两个字符串相等的话,strncmp将返回0。如果s1是s2的一个子串的话,s1小于s2。此外还有,函数int strncmp (const char *s1, const char *s2, size_t size) 此函数与strcmp极为类似。不同之处是,strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。 Strncpy 原型:char *strncpy(char *dest, const char *src, size_t n); 功能:(c/c++)复制字符串src中的内容(字符,数字、汉字....)到字符串dest中,复制多少由size_tn的值决定。如果src的前n个字节不含NULL字符,则结果不会以NULL 字符结束。如果src的长度小于n个字节,则以NULL填充dest直到复制完n个字节。src 和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符长度+'\0'。 Strpbrk 原型:char *strpbrk(const char *s, const char *accept); 头文件:#include 功能:依次检验字符串s1中的字符,当被检验字符在字符串s2中也包含时,则停止检验,并返回该字符位置,空字符null不包括在内。 说明:返回s1中第一个满足条件的字符的指针,如果没有匹配字符则返回空指针NULL。 用途:在源字符串(s1)中找出最先含有搜索字符串(s2)中任一字符的位置并返回,若找不到则返回空指针。 strrchr 原型:char *strrchr(const char *s, int c); 头文件:#include 功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。 strsep 原型:char *strsep(char **stringp, const char *delim); 头文件:#include 功能:分解字符串为一组字符串。从stringp指向的位置起向后扫描,遇到delim指向的字符串中的字符后,将此字符替换为NULL,返回stringp指向的地址。它适用于分割“关键字”在两个字符串之间只“严格出现一次”的情况。 strspn 原型:size_t strspn(const char *s, const char *accept); 头文件:#include 功能:strspn(返回字符串中第一个不在指定字符串中出现的字符下标) 说明:strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。 返回值返回字符串s开头连续包含字符串accept内的字符数目。