string.h中的函数
C++的string类型中关于append函数、push_back函数和+=运算符的区别

C++的string类型中关于append函数、push_back函数和+=运算符的区别部分内容翻译⾃引⾔C++的string类中,要想在字符串后附加字符,可以使⽤append函数、push_back函数或者是+=运算符,这些附加字符的⽅法其实现不尽相同,因此应⽤场景也不同。
⾸先我们先⼀窥源码(gcc 4.9.2):basic_string.h://-------------------------------+=运算符重载部分---------------------------//追加 string 类型字符串basic_string&operator+=(const basic_string& __str){ return this->append(__str); }//追加 cstring 类型字符串basic_string&operator+=(const _CharT* __s){ return this->append(__s); }//追加单个字符basic_string&operator+=(_CharT __c){this->push_back(__c);return *this;}#if __cplusplus >= 201103L//追加字符类型的初始化列表basic_string&operator+=(initializer_list<_CharT> __l){ return this->append(__l.begin(), __l.size()); }//-------------------------------append函数实现部分---------------------------//追加 string 类型字符串basic_string&append(const basic_string& __str);//追加部分 string 类型字符串basic_string&append(const basic_string& __str, size_type __pos, size_type __n);//追加部分 cstring 类型字符串basic_string&append(const _CharT* __s, size_type __n);//追加 cstring 类型字符串basic_string&append(const _CharT* __s){__glibcxx_requires_string(__s);return this->append(__s, traits_type::length(__s));}//追加多个字符basic_string&append(size_type __n, _CharT __c);#if __cplusplus >= 201103L//追加字符类型的初始化列表basic_string&append(initializer_list<_CharT> __l){ return this->append(__l.begin(), __l.size()); }#endif // C++11template<class _InputIterator>template<class _InputIterator>basic_string& //附加给定范围内的多个字符append(_InputIterator __first, _InputIterator __last){ return this->replace(_M_iend(), _M_iend(), __first, __last); }//-------------------------------push_back函数实现部分---------------------------//追加单个字符voidpush_back(_CharT __c){const size_type __len = 1 + this->size();if (__len > this->capacity() || _M_rep()->_M_is_shared())this->reserve(__len);traits_type::assign(_M_data()[this->size()], __c);_M_rep()->_M_set_length_and_sharable(__len);}从以上源码的⾓度来分析append函数、push_back函数和+=运算符的不同使⽤场景,就⾮常直观了:+= 运算符:追加单个参数值。
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')才结束转换,并将结果返回。
c语言string函数详解

c语言string函数详解linux kernel code : kernel/lib/string.cstrsep,strtok,strchr ,strstr ......PS:本文包含了大部分strings函数的说明,并附带举例说明。
本来想自己整理一下的,发现已经有前辈整理过了,就转了过来。
@函数原型: char *strdup(const char *s)函数功能: 字符串拷贝,目的空间由该函数分配函数返回: 指向拷贝后的字符串指针参数说明: src-待拷贝的源字符串所属文件: <string.h>[cpp] view plain copy1.#include <stdio.h>2.#include <string.h>3.#include <alloc.h>4.int main()5.{6.char *dup_str, *string="abcde";7.dup_str=strdup(string);8.printf("%s", dup_str);9.free(dup_str);10.return 0;11.}@函数名称: strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把str2指向的字符串拷贝到str1中去函数返回: 返回str1,即指向str1的指针参数说明:所属文件: <string.h>[cpp] view plain copy1.#include <stdio.h>2.#include <string.h>3.int main()4.{5.char string[10];6.char *str1="abcdefghi";7.strcpy(string,str1);8.printf("the string is:%s\n",string);9.return 0;10.}@函数名称: strncpy函数原型: char *strncpy(char *dest, const char *src,intcount)函数功能: 将字符串src中的count个字符拷贝到字符串dest中去函数返回: 指向dest的指针参数说明: dest-目的字符串,src-源字符串,count-拷贝的字符个数所属文件: <string.h>[cpp] view plain copy1.#include<stdio.h>2.#include<string.h>3.int main()4.{5.char*src = "bbbbbbbbbbbbbbbbbbbb";//20 'b's6.char dest[50] ="aaaaaaaaaaaaaaaaaaaa";//20 'a's7.8.puts(dest);9.strncpy(dest, src, 10);10.11.puts(dest);12.return0;13.}输出:[cpp] view plain copy1./*******************************************2.aaaaaaaaaaaaaaaaaaaa3.bbbbbbbbbbaaaaaaaaaa4.*******************************************/注意:strncpy只复制指定长度的字符,不会自动在末尾加'\0'。
c语言string函数

c语言string函数
标准 C 语言的string.h头文件中定义了一组有用的函数,被称为字符串处理函数。
字符串就是由字母,数字和符号组成的一行字符序列,通常以字符串结尾显示。
它是一种数据抽象,是用来存储,分析,表示和处理应用程序中的文本数据的一种常见方式。
1.strlen()函数:该函数用来计算字符串的长度,不包括字符串结尾的null字符
'\0'。
该函数所返回的字符数不包括null字符,而只代表字符串中实际的字符数。
2.strcat()函数:该函数的作用是将字符串s2拼接到字符串s1的末尾。
这意味着s1的末尾会出现字符串s2的第一个字符,直到结束符'\0'。
4.strcmp()函数:该函数用于比较两个字符串s1和s2,如果s1>s2,函数会返回正值;如果s1=s2,函数会返回0;如果s1
5.strchr()函数:该函数用于在字符串s1中查找给定字符c。
如果成功,函数会返回指向找到字符的指针;否则,函数会返回NULL。
7.strtok()函数:该函数用于将字符串分割成一系列子字符串,每个子字符串以一个或多个指定的分隔符分隔。
以上就是标准C语言的string.h头文件中的一些常用的字符串处理函数,这些函数主要用于对字符串的操作,如切割,拼接,比较等。
由于 C 语言的数据结构比较简单,因此这个头文件函数的功能也是非常强大的,可以满足各种字符串处理的需求。
C标准库源码解剖(4):字符串处理函数string.h和wchar.h

C标准库源码解剖(4):字符串处理函数string.h和wchar.h简要介绍资料的主要内容,以获得更多的关注C标准库源码解剖(4):字符串处理函数string.h和wchar.h分类:C 20XX年-10-08 12:39 648人阅读评论(1) 收藏举报string.h中包含了所有的字符串处理函数,也包含了内存处理函数,因为这些内存处理函数(如比如、复制、搜索)的功能与字符串处理函数功能类似。
我们是用通用指针来指向内存块的,通用指针可以用char*类型(传统C语言),也可以用void*类型(标准C语言)。
每个函数都有对应的宽字符版本,在wchar.h中。
string.h中包含的标准库函数:strcat,strncat,strcmp,strncmp,strcpy,strncpy,strlen,strchr,strrchr,strspn,strcsp n,strpbrk, strstr,strok,strcoll,strxfrm,strerror;memcpy,memmove,memcmp,memchr,memeset。
GNU还提供了很多非标准的扩展,如memccpy,rawmemchr,memrchr, strdup,strndup等。
view plaincopy to clipboardprint? 1. /* ISO C99 Standard: 7.21 字符串处理string.h */2. #ifndef _STRING_H3. #define _STRING_H 14. #include features.h /* 非标准头文件,定义了一些编译选项*/5. __BEGIN_DECLS6. /* 从stddef.h中获得size_t和NULL */7. #define __need_size_t8. #define __need_NULL9. #include stddef.h10. __BEGIN_*****CE_STD11. /* 从SRC中复制N个字节的内容到DEST中*/12. extern void *memcpy (void *__restrict __dest,13. __const void *__restrict __src, size_t __n)14. __THROW __nonnull ((1, 2));15. /* 从SRC中复制N个字节的内容到DEST中,保证对重叠字符串(即SRC与DEST共用存储空间)有正确的行为*/16. extern void *memmove (void *__dest, __const void *__src, size_t __n)17. __THROW __nonnull ((1, 2));18. __END_*****CE_STD19. /* 从SRC中复制不超过N个字节的内容到DEST中,当遇到字符C返回DEST中C的拷贝后面的字符指针。
c语言中string.h库函数

C语言中的`string.h`库函数是一组用于处理字符串的函数,包括字符串的复制、连接、比较、查找等操作。
以下是一些常用的`string.h`库函数:1. `strcpy(char *dest, const char *src)`:将字符串src复制到dest中,返回dest。
2. `strncpy(char *dest, const char *src, size_t n)`:将字符串src的前n个字符复制到dest中,返回dest。
3. `strcat(char *dest, const char *src)`:将字符串src连接到dest的末尾,返回dest。
4. `strncat(char *dest, const char *src, size_t n)`:将字符串src的前n个字符连接到dest的末尾,返回dest。
5. `strcmp(const char *a, const char *b)`:比较两个字符串a和b,返回0表示相等,返回大于0表示a大于b,返回小于0表示a小于b。
6. `strncmp(const char *a, const char *b, size_t n)`:比较两个字符串a和b的前n个字符,返回0表示相等,返回大于0表示a大于b,返回小于0表示a小于b。
7. `strstr(const char *haystack, const char *needle)`:在字符串haystack中查找字符串needle首次出现的索引,如果未找到则返回NULL。
8. `strtok(const char *token, const char *delim)`:将字符串按照指定的分隔符进行分割,返回分割后的子字符串。
9. `strspn(const char *s, const char *re)`:返回字符串s中匹配子串re的个数。
10. `strpbrk(const char *s, const char *delim)`:返回字符串s中首次出现匹配子串delim的索引,如果未找到则返回NULL。
string.h 函数

string.h是C 语言标准库中的一个头文件,它包含了处理字符串的函数。
以下是一些在string.h中常见的函数:1.strcpy(): 复制一个字符串到另一个字符串。
c复制代码char *strcpy(char *dest, const char *src);2.strcat(): 将一个字符串附加到另一个字符串的末尾。
c复制代码char *strcat(char *dest, const char *src);3.strlen(): 返回一个字符串的长度(不包括终止字符)。
c复制代码size_t strlen(const char *s);4.strcmp(): 比较两个字符串。
c复制代码int strcmp(const char *s1, const char *s2);5.strchr(): 在字符串中查找第一个出现的指定字符。
c复制代码char *strchr(const char *s, int c);6.strstr(): 在字符串中查找子字符串的首次出现。
c复制代码char *strstr(const char *haystack, const char *needle);7.memcpy(): 从源地址复制指定数量的字节到目标地址。
c复制代码void *memcpy(void *dest, const void *src, size_t n);8.memset(): 将内存区域设置为给定的值。
c复制代码void *memset(void *s, int c, size_t n);9.memmove(): 从源地址复制字节到目标地址,可以处理重叠的内存区域。
c复制代码void *memmove(void *dest, const void *src, size_t n);10.bzero(): 将内存区域设置为零。
这是一个非标准的函数,但在一些旧的代码中可能会看到。
在新的代码中,建议使用memset。
string的各种函数(系统学习)

string的各种函数(系统学习)1、按照⾯向对象的要求,可以把字符串看作⼀个对象,设计⼀个串类加以描述。
但是,在⼀般的情况下不必建⽴⾃⼰的串类,c++标准在库<string>中给出了类string,提供了丰富的串操作,程序员使⽤指令: #include<string>即存取这个类。
可将类string视为⼀个容器类,其部分操作如下:构造函数:string s:构造⼀个空串sstring s(a):构造串s,并⽤字符数组a初始化string s(a,n):构造串s,⽤字符数组a的前n个字符初始化string s(str):⽤串str构造串s(拷贝初始化)看下⾯代码验证#include<iostream>#include<string.h>#include<map>#include<cstdio>#include<cstring>#include<stdio.h>#include<cmath>#include<ctype.h>#include<math.h>#include<algorithm>#include<set>#include<queue>typedef long long ll;using namespace std;const ll mod=1e9+7;const int maxn=1e5+10;const int maxk=3e5+10;const int maxx=1e4+10;const ll maxe=1000+10;#define INF 0x3f3f3f3f3f3f#define Lson l,mid,rt<<1#define Rson mid+1,r,rt<<1|1int main(){char a[maxn];cin>>a;//输⼊abcdefghstring s(a);//结果为abcdefghstring s1(a,5);//结果为abcdestring s2(s1);//结果为abcdecout<<s<<endl;cout<<s1<<endl;cout<<s2<<endl;return0;}输⼊输出:getline(cin,s,delim):从cin中提取字符存⼊串s中,当遇到delim或者提取的字符个数等于s的长度时结束,如果⾃⼰不设定,默认为'\n' getline(cin,s):遇到'\n'结束cin>>s:遇到空⽩字符终⽌提取,空⽩字符不被读取cout<<s:输出s#include<iostream>#include<string.h>#include<map>#include<cstdio>#include<cstring>#include<stdio.h>#include<cmath>#include<ctype.h>#include<math.h>#include<algorithm>#include<set>#include<queue>typedef long long ll;using namespace std;const ll mod=1e9+7;const int maxn=1e5+10;const int maxk=3e5+10;const int maxx=1e4+10;const ll maxe=1000+10;#define INF 0x3f3f3f3f3f3f#define Lson l,mid,rt<<1#define Rson mid+1,r,rt<<1|1int main(){string s;while(getline(cin,s,'#')){getchar();//⾃⼰指定了字符要加getchar,不然结果会多出⼀个换⾏,但是默认情况下不⽤加getcharcout<<s<<endl;}return0;}操作符:s=val:赋值操作,val可以是⼀个串,⼀个字符或⼀个字符数组s+=val:将val添加到串s之后s[pos]:下标操作s+t,t+s:s和t的连接,返回连接的结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
string.h中的函数@函数名称: strdup函数原型: char *strdup(const char *s)函数功能: 字符串拷贝,目的空间由该函数分配函数返回: 指向拷贝后的字符串指针参数说明: src-待拷贝的源字符串所属文件: <string.h>#include <stdio.h>#include <string.h>#include <alloc.h>int main(){char *dup_str, *string="abcde";dup_str=strdup(string);printf("%s", dup_str);free(dup_str);return 0;}@函数名称: strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把str2指向的字符串拷贝到str1中去函数返回: 返回str1,即指向str1的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10];char *str1="abcdefghi";strcpy(string,str1);printf("the string is:%s\n",string);return 0;}@函数名称: strncpy函数原型: char *strncpy(char *dest, const char *src,int count) 函数功能: 将字符串src中的count个字符拷贝到字符串dest中去函数返回: 指向dest的指针参数说明: dest-目的字符串,src-源字符串,count-拷贝的字符个数所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10];char *str1="abcdefghi";strncpy(string,str1,3);string[3]='\0';printf("%s",string);return 0;}@函数名称: strcat函数原型: char* strcat(char * str1,char * str2);函数功能: 把字符串str2接到str1后面,str1最后的'\0'被取消函数返回: str1参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char buffer[80];strcpy(buffer,"Hello ");strcat(buffer,"world");printf("%s\n",buffer);return 0;}@函数名称: strncat函数原型: char *strncat(char *dest, const char *src, size_t maxlen) 函数功能: 将字符串src中前maxlen个字符连接到dest中函数返回:参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>char buffer[80];int main(){strcpy(buffer,"Hello ");strncat(buffer,"world",8);printf("%s\n",buffer);strncat(buffer,"*************",4);printf("%s\n",buffer);return 0;}@函数名称: strcmp函数原型: int strcmp(char * str1,char * str2);函数功能: 比较两个字符串str1,str2.函数返回: str1<str2,返回负数; str1=str2,返回0; str1>str2,返回正数. 参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){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;}@函数名称: strncmp函数原型: int strncmp(char *str1,char *str2,int count)函数功能: 对str1和str2中的前count个字符按字典顺序比较函数返回: 小于0:str1<str2,等于0:str1=str2,大于0:str1>str2 参数说明: str1,str2-待比较的字符串,count-比较的长度所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){int ptr;char *buf1="aaabbb",*buf2="bbbccc",*buf3="ccc";ptr=strncmp(buf2,buf1,3);if (ptr>0)printf("buffer 2 is greater than buffer 1");elseprintf("buffer 2 is less than buffer 1");ptr=strncmp(buf2,buf3,3);if (ptr>0)printf("buffer 2 is greater than buffer 3");elseprintf("buffer 2 is less than buffer 3");return(0);}@函数名称: strpbrk函数原型: char *strpbrk(const char *s1, const char *s2)函数功能: 得到s1中第一个“同时也出现在s2中”字符的位置指针函数返回: 位置指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *p="Find all vowels";while(p){printf("%s\n",p);p=strpbrk(p+1,"aeiouAEIOU");}return 0;}@函数名称: strcspn函数原型: int strcspn(const char *s1, const char *s2)函数功能: 统计s1中从头开始直到第一个“来自s2中的字符”出现的长度函数返回: 长度参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){printf("%d\n",strcspn("abcbcadef","cba"));printf("%d\n",strcspn("xxxbcadef","cba"));printf("%d\n",strcspn("123456789","cba"));return 0;}@函数名称: strspn函数原型: int strspn(const char *s1, const char *s2)函数功能: 统计s1中从头开始直到第一个“不来自s2中的字符”出现的长度函数返回: 位置指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>#include <alloc.h>int main(){printf("%d\n",strspn("out to lunch","aeiou"));printf("%d\n",strspn("out to lunch","xyz"));return 0;}@函数名称: strchr函数原型: char* strchr(char* str,char ch);函数功能: 找出str指向的字符串中第一次出现字符ch的位置函数返回: 返回指向该位置的指针,如找不到,则返回空指针参数说明: str-待搜索的字符串,ch-查找的字符所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){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;}@函数名称: strrchr函数原型: char *strrchr(const char *s, int c)函数功能: 得到字符串s中最后一个含有c字符的位置指针函数返回: 位置指针参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){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",c,ptr-string); elseprintf("The character was not found");return 0;}@函数名称: strstr函数原型: char* strstr(char* str1,char* str2);函数功能: 找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符) 函数返回: 返回该位置的指针,如找不到,返回空指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *str1="Open Watcom C/C++",*str2="Watcom",*ptr;ptr=strstr(str1,str2);printf("The substring is:%s\n",ptr);return 0;}@函数名称: strrev函数原型: char *strrev(char *s)函数功能: 将字符串中的所有字符颠倒次序排列函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char *forward="string";printf("Before strrev():%s",forward);strrev(forward);printf("After strrev(): %s",forward);return 0;}@函数名称: strnset函数原型: char *strnset(char *s, int ch, size_t n)函数功能: 将字符串s中前n个字符设置为ch的值函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *string="abcdefghijklmnopqrstuvwxyz";char letter='x';printf("string before strnset: %s",string);strnset(string,letter,13);printf("string after strnset: %s",string);return 0;}@函数名称: strset函数原型: char *strset(char *s, int ch)函数功能: 将字符串s中所有字符设置为ch的值函数返回: 指向s的指针参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char string[10]="123456789";char symbol='c';printf("Before strset(): %s", string);strset(string, symbol);printf("After strset(): %s", string);return 0;}@函数名称: strtok函数原型: char *strtok(char *s1, const char *s2)函数功能: 分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词) 函数返回: 字符串s1中首次出现s2中的字符前的子字符串指针参数说明: s2一般设置为s1中的分隔字符规定进行子调用时(即分割s1的第二、三及后续子串)第一参数必须是NULL在每一次匹配成功后,将s1中分割出的子串位置替换为NULL(摘下链中第一个环),因此s1被破坏了函数会记忆指针位置以供下一次调用所属文件: <string.h>#include <string.h>#include <stdio.h>int main(){char *p;char *buffer;char *delims={ " .," };buffer=strdup("Find words, all of them.");printf("%s\n",buffer);p=strtok(buffer,delims);while(p!=NULL){printf("word: %s\n",p);p=strtok(NULL,delims);}printf("%s\n",buffer);return 0;}@函数名称: strupr函数原型: char *strupr(char *s)函数功能: 将字符串s中的字符变为大写函数返回:参数说明:所属文件: <string.h>#include <stdio.h>#include <string.h>int main(){char *string="abcdefghijklmnopqrstuvwxyz",*ptr; ptr=strupr(string);printf("%s",ptr);return 0;}@函数名称: strlwr函数原型: char *strlwr(char *s)函数功能: 将字符串中的字符变为小写字符函数返回: 指向s的指针参数说明:所属文件: <string.h>#include<string.h>int main(){char str[]="HOW TO SAY?";printf("%s",strlwr(str));return 0;}@函数名称: strlen函数原型: unsigned int strlen(char * str);函数功能: 统计字符串str中字符的个数(不包括终止符'\0') 函数返回: 返回字符串的长度.参数说明:所属文件: <string.h>#include <stdio.h>#include<string.h>int main(){char str[]="how are you!";printf("the lence is:%d\n",strlen(str));return 0;}@函数名称: strerror函数原型: char *strerror(int errnum)函数功能: 得到错误信息的内容信息函数返回: 错误提示信息字符串指针参数说明: errnum-错误编号所属文件: <string.h>#include <stdio.h>#include <errno.h>int main(){char *buffer;buffer=strerror(errno);printf("Error: %s",buffer);return 0;}@函数名称: memcpy函数原型: void *memcpy(void *dest, const void *src, size_t n)函数功能: 字符串拷贝函数返回: 指向dest的指针参数说明: src-源字符串,n-拷贝的最大长度所属文件: <string.h>,<mem.h>#include <stdio.h>#include <string.h>int main(){char src[]="******************************";char dest[]="abcdefghijlkmnopqrstuvwxyz0123456709";char *ptr;printf("destination before memcpy:%s\n",dest);ptr=memcpy(dest,src,strlen(src));if (ptr)printf("destination after memcpy:%s\n",dest);elseprintf("memcpy failed");return 0;}@函数名称: memccpy函数原型: void *memccpy(void *dest, const void *src, int c, size_t n)函数功能: 字符串拷贝,到指定长度或遇到指定字符时停止拷贝函数返回:参数说明: src-源字符串指针,c-中止拷贝检查字符,n-长度,dest-拷贝底目的字符串指针所属文件: <string.h>,<mem.h>#include <string.h>#include <stdio.h>int main(){char *src="This is the source string";char dest[50];char *ptr;ptr=memccpy(dest,src,'c',strlen(src));if (ptr){*ptr='\0';printf("The character was found:%s",dest);}elseprintf("The character wasn't found");return 0;}@函数名称: memchr函数原型: void *memchr(const void *s, int c, size_t n)函数功能: 在字符串中第开始n个字符中寻找某个字符c的位置函数返回: 返回c的位置指针,返回NULL时表示未找到参数说明: s-要搜索的字符串,c-要寻找的字符,n-指定长度所属文件: <string.h>,<mem.h>#include <string.h>#include <stdio.h>int main(){char str[17];char *ptr;strcpy(str,"This is a string");ptr=memchr(str,'r',strlen(str));if (ptr)printf("The character 'r' is at position: %d",ptr-str);elseprintf("The character was not found");return 0;}@函数名称: memcmp函数原型: int memcmp(const void *s1, const void *s2,size_t n) 函数功能: 按字典顺序比较两个串s1和s2的前n个字节函数返回: <0,=0,>0分别表示s1<,=,>s2参数说明: s1,s2-要比较的字符串,n-比较的长度所属文件: <string.h>,<mem.h>#include <stdio.h>#include <string.h>int main(){char *buf1="ABCDE123";char *buf2="abcde456";int stat;stat=memcmp(buf1,buf2,5);printf("The strings to position 5 are ");if(stat) printf("not ");printf("the same\n");return 0;}@函数名称: memicmp函数原型: int memicmp(const void *s1, const void *s2, size_t n) 函数功能: 按字典顺序、不考虑字母大小写对字符串s1,s2前n个字符比较函数返回: <0,=0,>0分别表示s1<,=,>s2参数说明: s1,s2-要比较的字符串,n-比较的长度所属文件: <string.h>,<mem.h>#include <stdio.h>#include <string.h>int main(){char *buf1="ABCDE123";char *buf2="abcde456";int stat;stat=memicmp(buf1,buf2,5);printf("The strings to position 5 are ");if(stat) printf("not");printf("the same");return 0;}@函数名称: memmove函数原型: void *memmove(void *dest, const void *src, size_t n) 函数功能: 字符串拷贝函数返回: 指向dest的指针参数说明: src-源字符串,n-拷贝的最大长度所属文件: <string.h>,<mem.h>#include <string.h>#include <stdio.h>int main(){char dest[40]="abcdefghijklmnopqrstuvwxyz0123456789";printf("destination prior to memmove:%s\n",dest); memmove(dest+1,dest,35);printf("destination after memmove:%s",dest); return 0;}@函数名称: memset函数原型: void *memset(void *s, int c, size_t n)函数功能: 字符串中的n个字节内容设置为c函数返回:参数说明: s-要设置的字符串,c-设置的内容,n-长度所属文件: <string.h>,<mem.h>#include <string.h>#include <stdio.h>#include <mem.h>int main(){char buffer[]="Hello world";printf("Buffer before memset:%s\n",buffer); memset(buffer,'*',strlen(buffer)-1);printf("Buffer after memset:%s",buffer);return 0;}。