|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 6bingame 于 2024-12-18 16:59 编辑
标准C库函数3
字符串复制函数
字符串复制函数用于把一个字符串复制到另一个字符中,形式如下
原型 功能
char*strcpy(char*d,char*s) 复制字符串s到字符串d,返回字符串
char*strncpy(char*d,char*s,int n) 复制字符串s中至多n个字符到字符串d;如果s小于n个字符,用'\0'补上,返回字符串d
void*memcpy(void*d,void*s,int n) 从s复制n个字符到d,返回字符串d
void*memmove(void*d,void*s,int n) 和memcpy相同,即使d和s部分也运行
例题1:字符串复制函数的应用
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char*s1="Hello World";
- char*s2="Hello World";
- char d1[20]="***************";
- char d2[20]="***************";
- strcpy(d1,s1); //调用字符串复制函数
- printf("%s\n",d1);
- strncpy(d2,s2,strlen(s2)); //调用字符串复制函数
- printf("%s\n",d2);
- getchar();
- return 0;
- }
复制代码
例题分析:
strcpy()函数中的s和d所指内存区域不可以重叠,且d必须有足够的空间来容纳s的字符串,最后返回指向d的指针。如果strncpy()函数中s的前n个字节不含NULL字符,则结果不会以NULL字符结束。如果s的长度小于n个字节,则以NULL填充d,直到复制完n个字节。s和d所指内存区域不可以重叠,且d必须有足够的空间来容纳s的字符串,最后返回指向d的指针。
字符串比较函数
字符串比较函数用于比较两个字符串的大小,以ASCII码为基础,形式如下
原型 功能
int strcmp(char*d,char*s) 比较字符串d与字符串s。如果a<s,返回-1;如果d==s,返回0;
int strnmp(char*d,char*s,int n) 比较字符串d中至多n个字符与字符串s。如果 d<s,返回-1;如果d==s,返回0;返回0;如果d>s,返回1
int memcmp(void*d,void*s,int n) 比较d的首先n个字符与s,和strcmp返回值相同
例题2:字符串比较函数的应用
- #include<stdio.h>
- #include<string.h>
- int main()
- {
- char*s1="Hello,Programmers!";
- char*s2="Hello,programmers!";
- int r=strcmp(s1,s2);
- if(!r)
- printf("s1 and s2 are identical");
- else
- if(r<0)
- printf("s1 less than s2");
- else
- printf("s1 greater than s2");
- getchar();
- return 0;
- }
复制代码
例题分析:
当s1<s2时,返回值=-1;当s1=s2时,返回值=0;当s1>s2时,返回值=1
字符串查找函数
字符串查找函数用于在一个字符串中查找字符串出现的位置,形式如下表所示
原型 功能
char*strchr(char*d,char c) 返回一个指向字符串d中字符c第1次出现的指针;或者如果没有找到c,则返回指向NULL的指针
char*strst(char*d,char*s) 返回一个指向字符串d中字符s第1次出现的指针;或者如果没有找到s,则返回指向NULL的指针
void*memchr(void*d,char c,int n) 返回一个指向被d所指向的n个字符中c第1次出现的指针;或者如果没有找到c,则返回指向NULL的指针
例题3:字符串查找函数的应用
- #include<stdio.h>
- #include<math.h>
- int main()
- {
- char*s="Hello World";
- char*ps="llo";
- char*p;
- p=strchr(s,'W');
- if(p)
- printf("%s\n",p);
- else
- printf("Not Found!\n");
- p=strstr(s,ps);
- if(p)
- printf("%s\n",p);
- else
- printf("Not Found!\n");
- getchar();
- return 0;
- }
复制代码
例题分析:
strchr()函数查找字符'W'首次出现的位置,然后返回了"World"字符串;strstr()函数查找字符串"llo"首次出现的位置,然后返回了"llo World"字符串。
|
|