C语言:字符串整理

概念

我们可以把字符串储存在char类型的数组中,如果char类型的数组末尾包含一个表示字符串末尾的空字符\0,则该数组中的内容就构成了一个字符串

头文件

#include

初始化

char str[n];

char strr[] = {'I',' ','a','m',' ','h','a','p','p','y'};

char str[]="jsbuf";//可以加上花括号,无所谓

/char str[];
  str = "I am happy"; ///错误,字符数组的赋值只能按元素一一赋值(错误的原因: C语言并没有提供可以直接操作字符串的运算符;“=”可以用于其他数据类型的赋值,但是不可以直接给字符串赋值

BUT我们可以用指针

char *str=”xju nb”;//但之后只能用指针的方法读取,最好还是开数组。

常见库函数

memset(str,’0’,sizeof(str));//将’0’赋值到str数组中。

strcpy(str,"hello,world");//"hello,world"赋值给str(且清空之前str的所以值)。

strncpy(str,"hello,world",n);//"hello,world"前n个字符赋值str。

如果"hello,world"字符串长度小于n,则拷贝完字符串后,在dest后追加0,直到n个

如果"hello,world"的长度大于等于n,就截取src的前n个字符,不会在dest后追加0。

提前开好str大小防止溢出。

strlen(str)//返回值为str长度,别用sizeof(str),不同编译器分配内存不同。

strcat(str1,str2)//将str2拼接到str1尾部。

strcmp(str1,str2)//从第一个字符依次进行比较,比较字符ASCII码大小。

strncmp(str1,str2,n)//同上,从前n个字符开始比较。

strchr(str,c)//从str头查找c,返回其位置。

strrchr(str,c)//从str尾查找c,返回其位置。

strstr(str,substr)//从str头查找字串substr位置,无返回0.

你可能感兴趣的:(c语言,开发语言)