十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先要明白,sizeof不是函数,而是操作符;strlen是函数。
创新互联公司是一家专业提供裕民企业网站建设,专注与网站建设、网站设计、HTML5建站、小程序制作等业务。10年已为裕民众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
操作符sizeof用来判断对象、类型所占用的内存空间的字节数,strlen是计算一个字符串以字节计的长度。如:sizeof(int)、sizeof(double)、sizeof(char)等是合法的,可以计算出int、double、char这些类型所占用的字节数分别是4、8、1,而用strlen则是非法的。再如:若有char
a[20]="123";,那么,strlen(a)的结果是3,而sizeof(a)的结果是20;前者是字符串“123”的长度,后者是为数组a分配的内存空间。还有:当计算一个指向字符串的指针时,sizeof得到的是指针本身的长度即固定为4(32位机),而strlen得到的是指针指向的字符串的长度。如:char
a[20]="1234567",*p=a;,则,sizeof(p)=4,而strlen(p)=7。似乎复杂了点。记住一个原则就好判断:操作符sizeof用来计算系统为对象本身分配的空间(以字节计),函数strlen用来计算字符串的长度(以字节计)。
字符串的函数很多,有输入/输出函数:gets()/puts(),有拷贝函数strcpy(),字符串连接函数:strcat(),字符串比较函数strcmp(),测长度函数:strlen(),大小写转换:strlwr()/strupr()等等,如果调用的话,都要在头文件加预处理命令:
#include
“string.h”。
1.puts(字符数组) 输出
2.gets(字符数组) 输入
3.strcat(字符数组1,字符数组2) 字符串2接到字符串1的后面
4.strcpy和strncpy(字符数组1,字符串2,m) 将字符串2的前m个字符拷到str1中,最后加'\0'
5.strcmp(字符串1,字符串2) 两字符串比较
6.strlen(字符数组) 字符串的实际长度(不包括'\0')
复制相关函数:memcpy、memmove、strcpy、strncpy
字符串连接函数:strcat、strncat
字符串比较函数:memcmp、strcmp、strcoll、strncmp、strxfrm、
查找函数:memchr、strchr、strcspn、strpbrk、strrchr、strspn、strstr、strtok
其他相关函数:memset、strerror、strlen