putchar: 像标准输出写一个字符
getchar:从标准输入读入一个字符
EOF(-1)
strlen:返回字符串长度
#include<stdlib.h>
#include<string.h>
int mylen(const char* s)//自己实现strlen
{
int index = 0;
while (s[index] != '\0')
{
index++;
}
return index;
}
int main()
{
char line[] = "hello";
printf("%lu\n", strlen(line));
return 0;
}
strcmp:比较两个字符串
int strcmp(const char* a,const char *b)
返回; 0:a == b;
1:a >b;
-1:a<b;(比较结果以asc码为准)\
#include<stdlib.h>
#include<string.h>
int mycmp(const char* a, const char* b)//自己实现字符串比较
{
while (*a == *b && *a != '\0')
{
a++;
b++;
}
return *a - *b;
}
int main()
{
char s1[] = "aaf";
char s2[] = "aaf";
printf("%d\n", mycmp(s1, s2));
return 0;
}
strcpy:拷贝一段字符串
原型 char* strcpy(char* dst,const char* src) 把src中的字符串拷贝给des,其中两段字符串不重叠,返回dst的值\
#include<stdlib.h>
#include<string.h>
char* mycpy(char* s1, const char* s2)//自己实现strcmp函数
{
int index = 0;
while (s2[index] != '\0')
{
s1[index] = s2[index];
index++;
}
s1[index] = '\0';
return s1;
}
int main()
{
char s1[] = "aaf";
char s2[] = "aif";
printf("%s\n", strcpy(s1, s2));
return 0;
}
strcat:字符串连接函数
函数原型:char* strcat(char s1,const char* s2);把s2拷贝到s1的后面,返回s1(s1必须有足够的空间)
{
char s1[10] = "aaf";//保证有足够的空间给s2
char s2[] = "aif";
printf("%s\n", strcat(s1, s2));
return 0;
}
strchr:从字符串里面寻找字符第一次出现的位置 原型char *strchr(const char *s,int c);
strrchr:同上,只是是从字符串右边开始寻找
找不到返回null
#include<stdlib.h>
#include<string.h>
int main()
{
char s1[10] = "langues";
char* p = strchr(s1, 'g');
printf("%s\n", p);
return 0;
}
strstr:字符串中寻找字符串 原型:char *strstr(const char s1,const char s2);
strcasestr:同上,只不过会忽略大小写;
#include<stdlib.h>
#include<string.h>
int main()
{
char s1[10] = "langues";
char s2[] = "e";
char* p = strstr(s1, s2);
printf("%s\n", p);
return 0;
}