字符串,字符数组
字符数组的读入
字符数组的读入有两种方式,单字符赋值和字符串赋值
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(字符串名) 计算字符串的长度,终止符'\0'不算在长度之内
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)来实现