#include<string.h>库包含字符串处理函数,常用的有strcpy,strcat,strcmp,strchr等
1.strcpy是字符串赋值函数
char *strcpy(char *target,char *source);
#include<stdio.h>
#include<string.h>
void main(void){
char a[8] = {'a','s','d','n','n'};
char b[8] = {0};
strcpy(b,a);
puts(b);
}
strcpy()函数本质:是将以第二个参数为首地址所指向的空间开始遇0则止字符串,赋值到 以第一个参数为首地址所指向的空间开始的连续存储空间上。
2.strcat是字符串连接函数
char *strcat(char *s1,char *s2);
#include <stdio.h>
#include <string.h>
void main(void){
char d[20] = "GoldenGlobal";
char* s = "View";
strcat(d,s);
printf("%s",d);
getchar();
}
strcat()函数本质:将s2指向的空间开始,遇0则止的字符,连接到s1所指向字符串的末尾
3.strcmp是ASCII码大小比较
int strcmp(char *s1,char *s2);
#include<stdio.h>
#include<string.h>
void main(void){
char s1[100] = "Xsbvfvf";
char s2[100] = "a";
int n;
n = strcmp(s1,s2);
printf("%d",n);
}
若s1所指向的空间等于s2所指向的空间,则返回零;
若s1所指向的空间小于s2所指向的空间,则返回负数;
若s1所指向的空间大于s2所指向的空间,则返回正数。
strcmp()函数本质:两个字符串都从第一个字符开始比较,若相同,则继续比较下一个,直到遇见了0结束标志,只要有一个字符大小(ASCII码值)不同,比较结束
4.strchr是在字符串中查找指定字符第一次出现的地址
char *strchr(char *string,char ch);
#include <string.h>
#include <stdio.h>
void main(void)
{
char string[17];
char *ptr,c='r';
strcpy(string,"Thisisastring");
ptr=strchr(string,c);
if(ptr)
printf("The character %cis at position:%s\n",c,ptr);
else
printf("The character was not found\n");
}
如果想要寻找第二个'r',只需要ptr = strchr(string+1,c);继续