字符串输入环节:
1、格式:gets(字符数组) //应包含的.h文件为stdio.h 功能:
从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0' 说明:输入串长度应小于字符数
组维数
2、格式:scanf("%s", 字符数组)
//应包含的.h文件为stdio.h 功能:从键盘输入一以空格或回车结束的字符串放入字符数组中,并自
动加'\0' 说明:输入串长度应小于字符数组维数
字符串的输出:
1、格式:puts(字符串地址) //应包含的.h文件为stdio.h 功能:
输出字符串(输出完,换行) 说明:如果是字符数组,则必须以'\0'结束
2、格式:printf("%s", 字符串地址) //应包含的.h文件为stdio.h 功能:
依次输出字符串中的每个字符直到遇到字符'\0' ('\0'不会被输出)
计算字符串长度:
格式:strlen(字符串地址) //应包含的.h文件为string.h 功能:
计算字符串长度 返值:返回字符串实际长度,不包括'\0'在内
字符串的处理:
字符串的复制:
1、格式:strcpy (字符数组1,字符串2) //应包含的.h文件为string.h 功能:
将字符串2拷贝到字符数组1中去
返值:返回字符数组1的首地址
说明:
字符数组1必须足够大
拷贝时'\0'一同拷贝
不能使用赋值语句为一个字符数组赋值
2、格式:strncpy (字符数组1, 字符串2, 长度n) //应包含的.h文件为string.h 功能:
将字符串2的前n个字符复制到字符数组1中去,并在 末尾加'\0'
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
字符串比较:
1、格式:strcmp (字符串1, 字符串2) //应包含的.h文件为string.h 功能:
比较两个字符串 比较规则:
对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或'\0'为止
返值:
- s1 小于 s2,返回值 < 0,
- s1 大于 s2,返回值 > 0,
- s1 等于 s2,返回值 = 0,
2、格式:同strcmp //应包含的.h文件为string.h
差别:stricmp在比较两个字符串时不区分大小写,而strcmp则区分大小写
3、格式:strncmp (字符串1, 字符串2, 长度n) //应包含的.h文件为string.h
功能:将字符串1前n个字符的子串与字符串2前n个字符的子串进行比较
返值:同strcmp
4、格式:同strncmp //应包含的.h文件为string.h
差别:strnicmp在比较两个字符串时不区分大小写,而strncmp则区分大小写
字符串的连接:
格式:strcat (字符数组1, 字符数组2) //应包含的.h文件为string.h
功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址
说明:
字符数组1必须足够大
连接前,两串均以'\0'结束;连接后,串1的'\0'取消,新串最后加'\0'
数组赋值:
memset
函数原型:void *memset (void *s, char ch, unsigned n)
使用原理:将s为首地址的一片连续的n个字节内存单元都赋值为ch。
数组拷贝:
memcpy
函数原型:void *memcpy (void *d, void *s, unsigned n)
将s为首地址的一片连续的n个字节内存单元的值拷贝到以d为首地址的一片连续的内存单元中 。
注意:在使用memset和memcpy函数时,源程序中要包含头文件“string.h”。
在VC下,也可用“memory.h”。