1、C语言字符串函数大全剖析C语言字符串函数大全1.函数名: strcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include #include int main(void)char string10;char *str1 = abcdefghi;strcpy(string, str1);printf(%sn, string);return 0;2.函数名: strcat功 能: 字符串拼接函数用 法: char *strcat(char *destin, char *source);程序例:#incl
2、ude #include int main(void)char destination25;char *blank = , *c = C+, *Borland = Borland;strcpy(destination, Borland);strcat(destination, blank);strcat(destination, c);printf(%sn, destination);return 0;3.函数名: strchr功 能: 在一个串中查找给定字符的第一个匹配之处用 法: char *strchr(char *str, char c);程序例:#include #include i
3、nt main(void)char string15;char *ptr, c = r;strcpy(string, This is a string);ptr = strchr(string, c);if (ptr)printf(The character %c is at position: %dn, c, ptr-string);elseprintf(The character was not foundn);return 0;4.函数名: strcmp功 能: 串比较用 法: int strcmp(char *str1, char *str2);看Asic码,str1str2,返回值
4、0;两串相等,返回0程序例:#include #include 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 1n);elseprintf(buffer 2 is less than buffer 1n);ptr = strcmp(buf2, buf3);if (ptr 0)printf(buffer 2 is greater than buffer 3n);els
5、eprintf(buffer 2 is less than buffer 3n);return 0;5.函数名: strncmpi功 能: 将一个串中的一部分与另一个串比较, 不管大小写用 法: int strncmpi(char *str1, char *str2, unsigned maxlen);程序例:#include #include int main(void)char *buf1 = BBB, *buf2 = bbb;int ptr;ptr = strcmpi(buf2, buf1);if (ptr 0)printf(buffer 2 is greater than buffer
6、 1n);if (ptr 0)printf(buffer 2 is less than buffer 1n);if (ptr = 0)printf(buffer 2 equals buffer 1n);return 0;6.函数名: strcpy功 能: 串拷贝用 法: char *strcpy(char *str1, char *str2);程序例:#include #include int main(void)char string10;char *str1 = abcdefghi;strcpy(string, str1);printf(%sn, string);return 0;7.函数
7、名: strcspn功 能: 在串中查找第一个给定字符集内容的段用 法: int strcspn(char *str1, char *str2);程序例:#include #include #include int main(void)char *string1 = 1234567890;char *string2 = 747DC8;int length;length = strcspn(string1, string2);printf(Character where strings intersect is at position %dn, length);return 0;8.函数名: s
8、trdup功 能: 将串拷贝到新建的位置处用 法: char *strdup(char *str);程序例:#include #include #include int main(void)char *dup_str, *string = abcde;dup_str = strdup(string);printf(%sn, dup_str);free(dup_str);return 0;9.函数名: stricmp功 能: 以大小写不敏感方式比较两个串用 法: int stricmp(char *str1, char *str2);程序例:#include #include int main(
9、void)char *buf1 = BBB, *buf2 = bbb;int ptr;ptr = stricmp(buf2, buf1);if (ptr 0)printf(buffer 2 is greater than buffer 1n);if (ptr 0)printf(buffer 2 is less than buffer 1n);if (ptr = 0)printf(buffer 2 equals buffer 1n);return 0;10.函数名: strerror功 能: 返回指向错误信息字符串的指针用 法: char *strerror(int errnum);程序例:#i
10、nclude #include int main(void)char *buffer;buffer = strerror(errno);printf(Error: %sn, buffer);return 0;11.函数名: strcmpi功 能: 将一个串与另一个比较, 不管大小写用 法: int strcmpi(char *str1, char *str2);程序例:#include #include int main(void)char *buf1 = BBB, *buf2 = bbb;int ptr;ptr = strcmpi(buf2, buf1);if (ptr 0)printf(b
11、uffer 2 is greater than buffer 1n);if (ptr 0)printf(buffer 2 is less than buffer 1n);if (ptr = 0)printf(buffer 2 equals buffer 1n);return 0;12.函数名: strncmp功 能: 串比较用 法: int strncmp(char *str1, char *str2, int maxlen);程序例:#include #include int main(void)char *buf1 = aaabbb, *buf2 = bbbccc, *buf3 = ccc
12、;int ptr;ptr = strncmp(buf2,buf1,3);if (ptr 0)printf(buffer 2 is greater than buffer 1n);elseprintf(buffer 2 is less than buffer 1n);ptr = strncmp(buf2,buf3,3);if (ptr 0)printf(buffer 2 is greater than buffer 3n);elseprintf(buffer 2 is less than buffer 3n);return(0);13.函数名: strncmpi功 能: 把串中的一部分与另一串中
13、的一部分比较, 不管大小写用 法: int strncmpi(char *str1, char *str2);程序例:#include #include 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 1n);if (ptr 0)printf(buffer 2 is less than buffer 1n);if (ptr = 0)printf(buffer 2 equals
14、 buffer 1n);return 0;14.函数名: strncpy功 能: 串拷贝用 法: char *strncpy(char *destin, char *source, int maxlen);程序例:#include #include int main(void)char string10;char *str1 = abcdefghi;strncpy(string, str1, 3);string3 = 0;printf(%sn, string);return 0;15.函数名: strnicmp功 能: 不注重大小写地比较两个串用 法: int strnicmp(char *s
15、tr1, char *str2, unsigned maxlen);程序例:#include #include 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 1n);if (ptr 0)printf(buffer 2 is less than buffer 1n);if (ptr = 0)printf(buffer 2 equals buffer 1n);return
16、0;16.函数名: strnset功 能: 将一个串中的所有字符都设为指定字符用 法: char *strnset(char *str, char ch, unsigned n);程序例:#include #include int main(void)char *string = abcdefghijklmnopqrstuvwxyz;char letter = x;printf(string before strnset: %sn, string);strnset(string, letter, 13);printf(string after strnset: %sn, string);ret
17、urn 0;17.函数名: strpbrk功 能: 在串中查找给定字符集中的字符用 法: char *strpbrk(char *str1, char *str2);程序例:#include #include int main(void)char *string1 = abcdefghijklmnopqrstuvwxyz;char *string2 = onm;char *ptr;ptr = strpbrk(string1, string2);if (ptr)printf(strpbrk found first character: %cn, *ptr);elseprintf(strpbrk
18、didnt find character in setn);return 0;18.函数名: strrchr功 能: 在串中查找指定字符的最后一个出现用 法: char *strrchr(char *str, char c);程序例:#include #include int main(void)char string15;char *ptr, c = r;strcpy(string, This is a string);ptr = strrchr(string, c);if (ptr)printf(The character %c is at position: %dn, c, ptr-st
19、ring);elseprintf(The character was not foundn);return 0;19.函数名: strrev功 能: 串倒转用 法: char *strrev(char *str);程序例:#include #include int main(void)char *forward = string;printf(Before strrev(): %sn, forward);strrev(forward);printf(After strrev(): %sn, forward);return 0;20.函数名: strset功 能: 将一个串中的所有字符都设为指定
20、字符用 法: char *strset(char *str, char c);程序例:#include #include int main(void)char string10 = 123456789;char symbol = c;printf(Before strset(): %sn, string);strset(string, symbol);printf(After strset(): %sn, string);return 0;21.函数名: strspn功 能: 在串中查找指定字符集的子集的第一次出现用 法: int strspn(char *str1, char *str2);
21、程序例:#include #include #include int main(void)char *string1 = 1234567890;char *string2 = 123DC8;int length;length = strspn(string1, string2);printf(Character where strings differ is at position %dn, length);return 0;22.函数名: strstr功 能: 在串中查找指定字符串的第一次出现用 法: char *strstr(char *str1, char *str2);程序例:#inc
22、lude #include int main(void)char *str1 = Borland International, *str2 = nation, *ptr;ptr = strstr(str1, str2);printf(The substring is: %sn, ptr);return 0;23.函数名: strtod功 能: 将字符串转换为double型值用 法: double strtod(char *str, char *endptr);程序例:#include #include int main(void)char input80, *endptr;double val
23、ue;printf(Enter a floating point number:);gets(input);value = strtod(input, &endptr);printf(The string is %s the number is %lfn, input, value);return 0;24.函数名: strtok功 能: 查找由在第二个串中指定的分界符分隔开的单词用 法: char *strtok(char *str1, char *str2);程序例:#include #include int main(void)char input16 = abc,d;char *p;p
24、 = strtok(input, ,);if (p) printf(%sn, p);p = strtok(NULL, ,);if (p) printf(%sn, p);return 0;25.函数名: strtol功 能: 将串转换为长整数用 法: long strtol(char *str, char *endptr, int base);程序例:#include #include int main(void)char *string = 87654321, *endptr;long lnumber;lnumber = strtol(string, &endptr, 10);printf(s
25、tring = %s long = %ldn, string, lnumber);return 0;26.函数名: strupr功 能: 将串中的小写字母转换为大写字母用 法: char *strupr(char *str);程序例:#include #include int main(void)char *string = abcdefghijklmnopqrstuvwxyz, *ptr;ptr = strupr(string);printf(%sn, ptr);return 0;27.函数名: swab功 能: 交换字节用 法: void swab (char *from, char *t
26、o, int nbytes);程序例:#include #include #include char source15 = rFna koBlrna d;char target15;int main(void)swab(source, target, strlen(source);printf(This is target: %sn, target);return 0;28.函数名:strlen功能:计算字符串长度,计算字符串以零结尾的长度用 法: int strlen(char *s);#include #include int main(void) char *s=Golden Global View; printf(%s has %d chars,s,strlen(s); getchar(); return 0; WINDOWS 字符串处理函数 API/lstrcmp 区分大小写;返回值: -1、0、1, 其中 0 表示相同if(lstrcmp(str1,str2)!=0)str1,str2是两个字符串;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2