字符串,字符数组

字符数组的读入

字符数组的读入有两种方式,单字符赋值和字符串赋值

1.单字符赋值

单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。

char a[10];
char ch='a';
for( i=0;i<10;i++ )
     a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值
char *p;
for( p=a; p<a+10; p++ )
    *p=ch++; //通过指针对数组相应元素赋值

2.字符串赋值

可用头文件cstring中的字符串操作函数进行赋值

char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");//将整数x转化成字符串s,可以用sprintf(s,"&d",x)来实现

注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:

char a[10]="abcdefgh"; //这样可以
a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。

字符串操作函数(针对字符数组)

stract(字符串名1,字符串名2)    将字符串2连接到字符串1后面,返回字符串1的值

strncat(字符串名1,字符串名2,长度n)  将字符串2前n个字符连接到字符串1后面,返回字符串1的值

strcpy(字符串名1,字符串名2)  将字符串2复制到字符串1,返回字符串1的值

strncpy(字符串名1,字符串名2,长度n)  将字符串2前n个字符复制到字符串1,返回字符串1的值

strcmp(字符串名1,字符串名2)    比较字符串1和字符串2的大小,比较的结果由函数带回;

                如果字符串1>字符串2,返回一个正整数

                如果字符串1=字符串2,返回0

                如果字符串1<字符串2,返回一个负整数

strncmp(字符串名1,字符串名2,长度n)  比较字符串1和字符串2的前n个字符,函数返回值的情况同strcmp函数

strlen(字符串名)  计算字符串的长度,终止符''不算在长度之内

strlwr(字符串名)  将字符串中的大写字母换成小写字母

strupr(字符串名)  将字符串中的小写字母换成大写字母

strcasecmp忽略大小写比较字符串

strchr(p, c)  在字符串中查找指定字符

strrchr(p, c)  在字符串中反向查找

strstr(p, p1)  查找字符串

s.substr(pos,len)  复制子字符串,要求从指定位置开始,并具有指定的长度

stricmp(char *s1,char *s2)  忽略大小写比较

将整数N转化为字符串s,可以用sprintf(s,"%d",N)来实现

将字符串s转化为数字N,可以用sscanf(s,"%d",&N)来实现

原文地址:https://www.cnblogs.com/thmyl/p/7359402.html