《字符串比较函数大全》
C语言字符串处理函数大全

不错不错.
long strtol( const char *nptr, char **endptr, int base );
long wcstol( const wchar_t *nptr, wchar_t **endptr, int base );
unsigned long strtoul( const char *nptr, char **endptr, int base );
void *memchr( const void *buf, int c, size_t count );
在内存中寻找字符c并返回其地址,如果没有找到,返回NULL
C语言中的字符串操作
char *strcat( char *strDestination, const char *strSource );
int strcmp( const char *string1, const char *string2 );
int wcscmp( const wchar_t *string1, const wchar_t *string2 );
int _mbscmp(const unsigned char *string1, const unsigned char *string2 );
在一个字符串里查找一个字串,返回不包含目标串的长度。注意,好像MSDN上说是第一个strCharSet中任意原子的地方。不知道这样的话还有什么意义。
size_t strftime( char *strDest, size_t maxsize, const char *format, const struct tm *timeptr );
size_t wcsftime( wchar_t *strDest, size_t maxsize, const wchar_t *format, const struct tm *timeptr );
C#字符串函数大全

C#字符串函数大全C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容,希望本文能对大家有所帮助。
LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。
TrimTrim(string)将字符串前后的空格去掉LtrimLtrim(string)将字符串前面的空格去掉RtrimRtrim(string)将字符串后面的空格去掉MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串LeftLeft(string,length)从string字符串的左边取得length长度的字符串RightRight(string,length)从string字符串的右边取得length长度的字符串LCaseLCase(string)将string字符串里的所有大写字母转化为小写字母UCaseUCase(string)将string字符串里的所有大写字母转化为大写字母StrCompStrComp(string1,string2[,compare])返回string1字符串与string2字符串的比较结果,如果两个字符串相同,则返回0,如果小于则返回-1,如果大于则返回1 InStrInStr(string1,string2[,compare])返回string1字符串在string2字符串中第一次出现的位置SplitSplit(string1,delimiter[,count[,start]])将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。
如果省略,使用空格("")作为分隔符。
string[] rq1=new string[3]; //此方法比较简洁(分割字符串)rq1 = rq.Split('-'); //单个字符作为分隔符// rq1 = rq.Split(new char[] {'-','-'}); 多个字符作为分隔符count返回的子字符串数目,-1指示返回所有子字符串。
字符串的比较c语言

字符串的比较c语言
在C语言中,可以使用字符串比较函数来确定两个字符串是否相等。
常用的字符串比较函数有strcmp、strncmp和memcmp。
以下是这些函数的介绍:
- strcmp函数:比较两个字符串s1和s2。
如果s1分别小于、匹配或大于s2,则返回一个小于、等于或大于0的整数。
- strncmp函数:比较两个字符串s1和s2的前n个字节。
如果s1的前n个字节分别小于、匹配或大于s2的前n个字节,则返回一个小于、等于或大于零的整数。
- memcmp函数:比较内存区域s1和s2的前n个字节。
如果s1的前n个字节分别小于、匹配或大于s2的前n个字节,则返回一个小于、等于或大于零的整数。
下面是一个使用strcmp函数的示例代码:
```c
#include < stdio.h>
#include < string.h>
int main()
{
char str1[] = "Hello";
char str2[] = "World";
int result = strcmp(str1, str2);
printf("%d\n", result);
return 0;
}
```
该代码将输出两个字符串的比较结果,如果它们相等,则输出0;如果不相等,则输出一个非零值,具体结果取决于两个字符串的实际比较结果。
C语言字符串函数大全

今天总结了下C语言字符串函数。
C语言字符串函数总结:1.字符处理库(ctype)中的函数2.stdio中的字符串和字符输入/输出的函数3.通用实用库stdlib中的字符串转换函数4.字符串处理库string中的字符串处理函数C语言的字符串实际上是存储单个字符的数组,结尾包含一个结束该字符串的特别的字符("空字符",用'\0'表示)。
char string1[]="first"实际上有6个元素。
char color="blue" char * p="blue"注意p[i]不能修改,若需修改应用字符数组。
一、.字符处理库(ctype)中的函数#include<ctype.h>函数原型:int f(int c)isdigit, isalpha, isalnum, isxdigit, islower, isupper, tolower, toupper, isspace,空白字符:新行符\n, 空格,回车''\r",水平制表符"\t", 垂直制表符"\v" isctrl, ispunct, isprint, isalpha二、stdio中的字符串和字符输入/输出的函数int getchar(void) 从标准输入设备读取字符以整数返回char * get(char * s) 从标准输入设备读入字符到数组s直到遇到新行符和文件结束符为止,然后再数组后追加NULL字符int putchar(int c) 打印字符int puts(const char * s) 打印字符串s和新行符int sprintf(char * s, const char * format) 与printf区别在于输出结果存放在s中int sscanf(char * s, const char * format); 与scanf区别在于从数组s读取数据示例1 字符串反转#include <stdio.h> void reverse(char *s) {if(s[0] == '\0') return;else{reverse(&s[1]); putchar(s[0]);}}int main(){char s[100];gets(s);reverse(s);return 0;}输入:sf输出:fs示例2 sscanf和sprintf #include<stdio.h>int main(){int x=1;double y=2.1;char s[100];sprintf(s,"Hello!%d, %f", x, y);puts(s);sscanf(s,"%d%f",&x,&y);printf("x:%d, y:%f", x, y);return 0;}输出:Hello!1, 2.100000x:1, y:2.100000三、stdlib中的字符串转换函数#include<stdlib.h>1. atoi(将字符串转换成整型数)定义函数int atoi(const char *nptr); 函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
sql字符串比较函数

sql字符串比较函数
在SQL中,可以使用以下函数进行字符串比较:
1.`=(等于)`:比较两个字符串是否完全相同。
示例:`SELECT 某 FROM table WHERE column = 'string'`
2.`<>(不等于)`:比较两个字符串是否不相等。
示例:`SELECT 某 FROM table WHERE column <> 'string'`
3.`LIKE`:模式匹配函数,可以通过使用通配符进行模糊匹配。
通配符可以是`%`(匹配任意字符序列)或`_`(匹配单个字符)。
示例:`SELECT 某 FROM table WHERE column LIKE 'str%'`
4.`IN`:判断一个字符串是否存在于一个列表中。
示例:`SELECT 某 FROM table WHERE column IN ('string1',
'string2', 'string3')`
5.`BETWEEN`:判断一个字符串是否在指定的范围内。
示例:`SELECT 某 FROM table WHERE column BETWEEN 'string1' AND 'string3'`
这些函数可以结合使用,以实现更复杂的字符串比较逻辑。
C语言字符串函数大全

函数名: stpcpy功能: 拷贝一个字符串到另一个用法: char *stpcpy(char *destin, char *source); 程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";stpcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcat功能: 字符串拼接函数用法: char *strcat(char *destin, char *source);程序例:#include <string.h>#include <stdio.h>int main(void){char destination[25];char *blank = " ", *c = "C++", *Borland = "Borland";strcpy(destination, Borland);strcat(destination, blank);strcat(destination, c);printf("%s\n", destination);return 0;}函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\用法: char *strchr(char *str, char c);程序例:#include <string.h>#include <stdio.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string);elseprintf("The character was not found\n");return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值> 0;两串相等,返回0程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc";int ptr;ptr = strcmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return 0;}函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写用法: int strncmpi(char *str1, char *str2, unsigned maxle n);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strcpy功能: 串拷贝用法: char *strcpy(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcspn功能: 在串中查找第一个给定字符集内容的段用法: int strcspn(char *str1, char *str2); 程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "747DC8";int length;length = strcspn(string1, string2);printf("Character where strings intersect is at position % d\n", length);return 0;}函数名: strdup功能: 将串拷贝到新建的位置处用法: char *strdup(char *str);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *dup_str, *string = "abcde";dup_str = strdup(string);printf("%s\n", dup_str);free(dup_str);return 0;}函数名: stricmp功能: 以大小写不敏感方式比较两个串用法: int stricmp(char *str1, char *str2); 程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb"; int ptr;ptr = stricmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strerror功能: 返回指向错误信息字符串的指针用法: char *strerror(int errnum);程序例:#include <stdio.h>#include <errno.h>int main(void){char *buffer;buffer = strerror(errno);printf("Error: %s\n", buffer);return 0;}函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写用法: int strcmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncmp功能: 串比较用法: int strncmp(char *str1, char *str2, int maxlen);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";int ptr;ptr = strncmp(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strncmp(buf2,buf3,3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return(0);}函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: int strncmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc"; int ptr;ptr = strncmpi(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncpy功能: 串拷贝用法: char *strncpy(char *destin, char *source, int maxle n);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strncpy(string, str1, 3);string[3] = '\0';printf("%s\n", string);return 0;}函数名: strnicmp功能: 不注重大小写地比较两个串用法: int strnicmp(char *str1, char *str2, unsigned maxle n);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strnicmp(buf2, buf1, 3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strnset功能: 将一个串中的所有字符都设为指定字符用法: char *strnset(char *str, char ch, unsigned n); 程序例:#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz";char letter = 'x';printf("string before strnset: %s\n", string); strnset(string, letter, 13);printf("string after strnset: %s\n", string);return 0;}函数名: strpbrk功能: 在串中查找给定字符集中的字符用法: char *strpbrk(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char *string1 = "abcdefghijklmnopqrstuvwxyz"; char *string2 = "onm";char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf("strpbrk found first character: %c\n", *ptr); elseprintf("strpbrk didn't find character in set\n");return 0;}函数名: strrchr功能: 在串中查找指定字符的最后一个出现用法: char *strrchr(char *str, char c);程序例:#include <string.h>#include <stdio.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strrchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string);elseprintf("The character was not found\n");return 0;函数名: strrev功能: 串倒转用法: char *strrev(char *str);程序例:#include <string.h>#include <stdio.h>int main(void){char *forward = "string";printf("Before strrev(): %s\n", forward); strrev(forward);printf("After strrev(): %s\n", forward); return 0;}函数名: strset功能: 将一个串中的所有字符都设为指定字符用法: char *strset(char *str, char c);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10] = "123456789";char symbol = 'c';printf("Before strset(): %s\n", string);strset(string, symbol);printf("After strset(): %s\n", string);return 0;}函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "123DC8";int length;length = strspn(string1, string2);printf("Character where strings differ is at position %d\n ", length);return 0;}函数名: strstr功能: 在串中查找指定字符串的第一次出现程序例:#include <stdio.h>#include <string.h>int main(void){char *str1 = "Borland International", *str2 = "nation", * ptr;ptr = strstr(str1, str2);printf("The substring is: %s\n", ptr);return 0;}函数名: strtod功能: 将字符串转换为double型值用法: double strtod(char *str, char **endptr);程序例:#include <stdio.h>#include <stdlib.h>{char input[80], *endptr;double value;printf("Enter a floating point number:");gets(input);value = strtod(input, &endptr);printf("The string is %s the number is %lf\n", input, val ue);return 0;}函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>{char input[16] = "abc,d";char *p;/* strtok places a NULL terminatorin front of the token, if found */p = strtok(input, ",");if (p) printf("%s\n", p);/* A second call to strtok using a NULL as the first parameter returns a pointer to the character following the token */ p = strtok(NULL, ",");if (p) printf("%s\n", p);return 0;}函数名: strtol功能: 将串转换为长整数用法: long strtol(char *str, char **endptr, int base); 程序例:#include <stdlib.h>#include <stdio.h>int main(void){char *string = "87654321", *endptr;long lnumber;/* strtol converts string to long integer */ lnumber = strtol(string, &endptr, 10);printf("string = %s long = %ld\n", string, lnumber);return 0;}函数名: strupr功能: 将串中的小写字母转换为大写字母用法: char *strupr(char *str);程序例:#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;/* converts string to upper case characters */ptr = strupr(string);printf("%s\n", ptr);return 0;}函数名: swab功能: 交换字节用法: void swab (char *from, char *to, int nbytes); 程序例:#include <stdlib.h>#include <stdio.h>#include <string.h>char source[15] = "rFna koBlrna d"; char target[15];int main(void){swab(source, target, strlen(source)); printf("This is target: %s\n", target); return 0;}。
excel 字符串查找判断函数

文章标题:Excel中字符串查找判断函数的使用方法一、概述在使用Excel进行数据处理和分析的过程中,经常会遇到需要查找和判断字符串的情况。
为了能够快速、准确地完成这些任务,Excel提供了丰富的字符串查找和判断函数,本文将介绍这些函数的使用方法。
二、在Excel中查找字符串的函数1. FIND函数FIND函数用于在一个文本字符串中查找另一个字符串,并返回其位置。
其基本语法为:=FIND(要查找的字符串, 在哪个字符串中查找, 开始搜索的位置)要在单元格A1中的文本"Hello, World!"中查找逗号的位置,可以使用如下公式:=FIND(",", A1, 1)该公式将返回逗号在文本中的位置。
2. SEARCH函数SEARCH函数和FIND函数类似,也是用于查找一个字符串在另一个字符串中的位置。
其基本语法为:=SEARCH(要查找的字符串, 在哪个字符串中查找, 开始搜索的位置)与FIND函数不同的是,SEARCH函数不区分大小写。
要在单元格A1中的文本"Hello, World!"中查找"world"的位置,可以使用如下公式:=SEARCH("world", A1, 1)该公式将返回"world"在文本中的位置。
3. EXACT函数EXACT函数用于比较两个文本字符串是否完全相同。
其基本语法为:=EXACT(第一个文本字符串, 第二个文本字符串)要在单元格A1中的文本和单元格B1中的文本进行比较,可以使用如下公式:=EXACT(A1, B1)该公式将返回TRUE或FALSE,表示两个字符串是否完全相同。
三、在Excel中判断字符串的函数1. LEN函数LEN函数用于计算一个文本字符串的长度。
其基本语法为:=LEN(要计算长度的文本字符串)要计算单元格A1中的文本字符串的长度,可以使用如下公式:=LEN(A1)该公式将返回文本字符串的长度。
总结字符串比较函数

总结字符串⽐较函数最近⼀段时间⼀直在重看CLR via C# , 这次把字符串⽐较的函数总结下。
pare和CompareTo⼤PK⾸先是我们最常⽤的pare和CompareTo实例⽅法,先来看看这两个⽅法:我们通过这个可以直观地看到,String的静态⽅法要⽐CompareTo多出好多的⽅法重载,其实这也是两者的最⼤区别,也就是说pare有着更多的功能选项供我们控制。
其中主要包含着三个⽅⾯:A. ⽂化信息B. CompareOptionsC. ⽐较的开始和结束位置对于⽂化信息,我们可以看下Compare的反编译结果:对于Compare来说,他会通过传递进来的⽂化信息来调⽤对应的⽐较。
⽽CompareTo则是:CompareTo则会调⽤与当前线程相关联的⽂化信息。
对于⽂化信息来说,还有着这样⼀个枚举选项:StringComparison:下⾯让我们来看下StringComparison枚举:对于该枚举,共有如上六个枚举值。
该枚举主要对应着当前的⽂化信息,⼤⼩写,以及排序规则。
这就意味着,如果我们进⾏国际化的时候,字符串⽐较必须使⽤pare静态⽅法。
下⾯来看下CompareOptions:最后看下含开始和结束位置的pare⽅法:⽅法本⾝很简单,⽽⽅法链的最末端使⽤的是:⼀个内部⽐较字符串的⾮托管⽅法,⽽⽅法的具体内容,我⽆从⽽知,但是可以明确的是,这⼀定是⼀个⾼效的⽐较算法。
因此,当我们每次SubString的时候,当我们ToLower的时候,我们不妨都在这⾥使⽤pare,是不是为我们节省了很多空间,提⾼了很⼤效率呢?因此,我在这⾥建议,如果可能,我们尽可能地使⽤pare⽅法来代替CompareTo⽅法!2. 被遗忘的CompareOrdinal让我们先来看下CompareOrdinal的源码:private static unsafe int CompareOrdinalHelper(string strA, string strB){int num = Math.Min(strA.Length, strB.Length);int num2 = -1;fixed (char* chRef = &strA.m_firstChar){fixed (char* chRef2 = &strB.m_firstChar){char* chPtr = chRef;char* chPtr2 = chRef2;while (num >= 10){if (*(((int*)chPtr)) != *(((int*)chPtr2))){num2 = 0;break;}if (*(((int*)(chPtr + 2))) != *(((int*)(chPtr2 + 2)))){num2 = 2;break;}if (*(((int*)(chPtr + 4))) != *(((int*)(chPtr2 + 4)))){num2 = 4;break;}if (*(((int*)(chPtr + 6))) != *(((int*)(chPtr2 + 6)))){num2 = 6;break;}if (*(((int*)(chPtr + 8))) != *(((int*)(chPtr2 + 8)))){num2 = 8;break;}chPtr += 10;chPtr2 += 10;num -= 10;}if (num2 == -1){goto Label_00F1;}chPtr += num2;chPtr2 += num2;int num3 = chPtr[0] - chPtr2[0];if (num3 != 0){return num3;}return (chPtr[1] - chPtr2[1]);Label_00D7:if (*(((int*)chPtr)) != *(((int*)chPtr2))){goto Label_00F5;}chPtr += 2;chPtr2 += 2;num -= 2;Label_00F1:if (num > 0){goto Label_00D7;}Label_00F5:if (num > 0){int num4 = chPtr[0] - chPtr2[0];if (num4 != 0){return num4;}return (chPtr[1] - chPtr2[1]);}return (strA.Length - strB.Length);}}}⽅法很长,但是很简单,即使是Reflector 出来的变量名很BT,但是我们也可以⼤致看个究竟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串比较函数2009-05-02 12:06:17| 分类:技术|字号订阅函数名: stpcpy功能: 拷贝一个字符串到另一个用法: char *stpcpy(char *destin, char *source); 程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";stpcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcat功能: 字符串拼接函数用法: char *strcat(char *destin, char *source);程序例:#include <string.h>#include <stdio.h>int main(void){char destination[25];char *blank = " ", *c = "C++", *Borland = "Borland"; strcpy(destination, Borland);strcat(destination, blank);strcat(destination, c);printf("%s\n", destination);return 0;}函数名: strchr功能: 在一个串中查找给定字符的第一个匹配之处\用法: char *strchr(char *str, char c);程序例:#include <string.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string); elseprintf("The character was not found\n");return 0;}函数名: strcmp功能: 串比较用法: int strcmp(char *str1, char *str2);看Asic码,str1>str2,返回值> 0;两串相等,返回0程序例:#include <string.h>int main(void){char *buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int ptr;ptr = strcmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n"); elseprintf("buffer 2 is less than buffer 1\n");ptr = strcmp(buf2, buf3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n"); elseprintf("buffer 2 is less than buffer 3\n");return 0;}函数名: strncmpi功能: 将一个串中的一部分与另一个串比较, 不管大小写用法: int strncmpi(char *str1, char *str2, unsigned maxlen); 程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strcpy功能: 串拷贝用法: char *strcpy(char *str1, char *str2); 程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strcpy(string, str1);printf("%s\n", string);return 0;}函数名: strcspn功能: 在串中查找第一个给定字符集内容的段用法: int strcspn(char *str1, char *str2); 程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "747DC8";int length;length = strcspn(string1, string2);printf("Character where strings intersect is at position %d\n", length); return 0;}函数名: strdup功能: 将串拷贝到新建的位置处用法: char *strdup(char *str);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *dup_str, *string = "abcde";dup_str = strdup(string);printf("%s\n", dup_str);free(dup_str);return 0;}函数名: stricmp功能: 以大小写不敏感方式比较两个串用法: int stricmp(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = stricmp(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n"); if (ptr < 0)printf("buffer 2 is less than buffer 1\n"); if (ptr == 0)printf("buffer 2 equals buffer 1\n"); return 0;}函数名: strerror功能: 返回指向错误信息字符串的指针用法: char *strerror(int errnum);程序例:#include <stdio.h>#include <errno.h>int main(void){char *buffer;buffer = strerror(errno);printf("Error: %s\n", buffer);return 0;}函数名: strcmpi功能: 将一个串与另一个比较, 不管大小写用法: int strcmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBB", *buf2 = "bbb";int ptr;ptr = strcmpi(buf2, buf1);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n"); if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncmp功能: 串比较用法: int strncmp(char *str1, char *str2, int maxlen);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc"; int ptr;ptr = strncmp(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");elseprintf("buffer 2 is less than buffer 1\n");ptr = strncmp(buf2,buf3,3);if (ptr > 0)printf("buffer 2 is greater than buffer 3\n");elseprintf("buffer 2 is less than buffer 3\n");return(0);函数名: strncmpi功能: 把串中的一部分与另一串中的一部分比较, 不管大小写用法: int strncmpi(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strncmpi(buf2,buf1,3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strncpy功能: 串拷贝用法: char *strncpy(char *destin, char *source, int maxlen); 程序例:#include <stdio.h>#include <string.h>int main(void){char string[10];char *str1 = "abcdefghi";strncpy(string, str1, 3);string[3] = '\0';printf("%s\n", string);return 0;}函数名: strnicmp功能: 不注重大小写地比较两个串用法: int strnicmp(char *str1, char *str2, unsigned maxlen);#include <string.h>#include <stdio.h>int main(void){char *buf1 = "BBBccc", *buf2 = "bbbccc";int ptr;ptr = strnicmp(buf2, buf1, 3);if (ptr > 0)printf("buffer 2 is greater than buffer 1\n");if (ptr < 0)printf("buffer 2 is less than buffer 1\n");if (ptr == 0)printf("buffer 2 equals buffer 1\n");return 0;}函数名: strnset功能: 将一个串中的所有字符都设为指定字符用法: char *strnset(char *str, char ch, unsigned n);#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz"; char letter = 'x';printf("string before strnset: %s\n", string); strnset(string, letter, 13);printf("string after strnset: %s\n", string); return 0;}函数名: strpbrk功能: 在串中查找给定字符集中的字符用法: char *strpbrk(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char *string1 = "abcdefghijklmnopqrstuvwxyz"; char *string2 = "onm";char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf("strpbrk found first character: %c\n", *ptr); elseprintf("strpbrk didn't find character in set\n"); return 0;}函数名: strrchr功能: 在串中查找指定字符的最后一个出现用法: char *strrchr(char *str, char c);程序例:#include <string.h>#include <stdio.h>int main(void){char string[15];char *ptr, c = 'r';strcpy(string, "This is a string");ptr = strrchr(string, c);if (ptr)printf("The character %c is at position: %d\n", c, ptr-string); elseprintf("The character was not found\n");return 0;}函数名: strrev功能: 串倒转用法: char *strrev(char *str);程序例:#include <string.h>#include <stdio.h>int main(void){char *forward = "string";printf("Before strrev(): %s\n", forward);strrev(forward);printf("After strrev(): %s\n", forward); return 0;}函数名: strset功能: 将一个串中的所有字符都设为指定字符用法: char *strset(char *str, char c);程序例:#include <stdio.h>#include <string.h>int main(void){char string[10] = "123456789";char symbol = 'c';printf("Before strset(): %s\n", string); strset(string, symbol);printf("After strset(): %s\n", string); return 0;}函数名: strspn功能: 在串中查找指定字符集的子集的第一次出现用法: int strspn(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>#include <alloc.h>int main(void){char *string1 = "1234567890";char *string2 = "123DC8";int length;length = strspn(string1, string2);printf("Character where strings differ is at position %d\n", length); return 0;}函数名: strstr功能: 在串中查找指定字符串的第一次出现用法: char *strstr(char *str1, char *str2);程序例:#include <stdio.h>#include <string.h>int main(void){char *str1 = "Borland International", *str2 = "nation", *ptr; ptr = strstr(str1, str2);printf("The substring is: %s\n", ptr);return 0;}函数名: strtod功能: 将字符串转换为double型值用法: double strtod(char *str, char **endptr);程序例:#include <stdio.h>#include <stdlib.h>int main(void){char input[80], *endptr;double value;printf("Enter a floating point number:");gets(input);value = strtod(input, &endptr);printf("The string is %s the number is %lf\n", input, value); return 0;}函数名: strtok功能: 查找由在第二个串中指定的分界符分隔开的单词用法: char *strtok(char *str1, char *str2);程序例:#include <string.h>#include <stdio.h>int main(void){char input[16] = "abc,d";char *p;/* strtok places a NULL terminatorin front of the token, if found */p = strtok(input, ",");if (p) printf("%s\n", p);/* A second call to strtok using a NULLas the first parameter returns a pointerto the character following the token */p = strtok(NULL, ",");if (p) printf("%s\n", p);return 0;}函数名: strtol功能: 将串转换为长整数用法: long strtol(char *str, char **endptr, int base); 程序例:#include <stdlib.h>#include <stdio.h>int main(void){char *string = "87654321", *endptr;long lnumber;/* strtol converts string to long integer */lnumber = strtol(string, &endptr, 10);printf("string = %s long = %ld\n", string, lnumber); return 0;}函数名: strupr功能: 将串中的小写字母转换为大写字母用法: char *strupr(char *str);程序例:#include <stdio.h>#include <string.h>int main(void){char *string = "abcdefghijklmnopqrstuvwxyz", *ptr; /* converts string to upper case characters */ptr = strupr(string);printf("%s\n", ptr);return 0;}函数名: swab功能: 交换字节用法: void swab (char *from, char *to, int nbytes);程序例:#include <stdlib.h>#include <stdio.h>#include <string.h>char source[15] = "rFna koBlrna d";char target[15];int main(void){swab(source, target, strlen(source));printf("This is target: %s\n", target);return 0;}分。