vlambda博客
学习文章列表

C语言字符串与字符串函数

或许是多年再见,各自安静生活数年,在某个人潮拥挤的街头,透过公车的玻璃突然看见你。。。

----  网易云热评

一、字符数组

1、一个数组的元素是字符型,该数组是字符数组

2、赋值方式:

char c[ ]={'a','b','c'}  //只有三个字符

c[0]='a',c[1]='b',c[2]='c'

3、处理已知长度的字符数组


二、字符串

1、C语言没有字符串类型,所以只能以字符数组,结束标识'\0'

2、赋值方式:

char c[10]={'a','b','c'}   会自动补0

char c[]="abc" //有四个字符

c[0]='a',c[1]='b',c[2]='c',c[3]='\0'


三、字符串函数

1、strlen:获取字符成员个数,不包括\0

sizeof:返回字符串大小

#include <stdio.h>#include <stdlib.h>int main() { int a[] = { 1,2,3,4,5 }; char b[] = "123"; printf("数组a的大小%d\n", sizeof(a)); printf("数组b的大小%d\n", sizeof(b)); printf("数组a的长度%d\n", sizeof(a)/sizeof(a[0])); printf("数组b的长度%d\n", strlen(b)); system("pause"); return 0;}


2、strcpy:拷贝字符串

char a[]="" ;

char b[] = "aiyoubucuo";

C语言字符串与字符串函数

3、strcat:连接字符串

char a[]="aiyou" ;

char b[] = "bucuo";

C语言字符串与字符串函数

4、strcmp:比较字符串

#include <stdio.h>#include <stdlib.h>int main() { char a[]="abc" ; char b[] = "abd"; char c[] = "abc"; printf("对比结果为:%d\r\n", strcmp(a, b)); printf("对比结果为:%d\r\n", strcmp(b, a)); printf("对比结果为:%d\r\n", strcmp(a, c)); system("pause"); return 0;}


C语言字符串与字符串函数

5、strlwr:大写字母转小写

6、strupr:小写字母转大写

C语言字符串与字符串函数

7、fgets,获取输入内容,可以获取空格及换行,scanf不能获取

#include <stdio.h>#include <stdlib.h>int main() { char a[100]; fgets(a, sizeof(a),stdin); printf("您输入的是:%s", a); system("pause"); return 0;}


C语言字符串与字符串函数

8、strstr(),strchr(),查询字符或字符串是否存在

#include <stdio.h>#include <stdlib.h>int main() { char a[]="aiou bucuo"; char *b=strchr(a,'a'); char* c = strstr(a, "aiou12"); if (c==NULL) { printf("查询失败!\n"); } else { printf("查询成功!\n"); } system("pause"); return 0;}


9、strtok(),切割函数

#include <stdio.h>#include <stdlib.h>int main() { char a[]="aiou bucuo ooo"; char b[100];//拷贝数据,strtok会破坏原字符串 strcpy(b, a); char* p; p=strtok(b," "); while (p!=NULL) { printf("切割后:%s\n", p); p = strtok(NULL, " "); } system("pause"); return 0;}


C语言字符串与字符串函数


四、生成随机数

#include <stdio.h>#include <stdlib.h>int main() { //设置种子,srand里面的数据一样,生成的随机数也一样,时间一直在变,所以取时间 srand((unsigned int)time(NULL)); for (int i=1;i<10;i++) { //生成随机数 int num = rand(); printf("随机数%d:%d\n", i, num); } system("pause"); return 0;}


运行结果:

C语言字符串与字符串函数