strlen(char *)和str.length()以及str.size()的区别
来源:互联网 发布:linux用户和组 编辑:程序博客网 时间:2024/05/04 18:59
strlen(char *):
C语言函数,参数为char *,用来求字符数组的长度。
#include<stdio.h>
#include<cstring>
int main()
{
char*s="Nice to meet you!";
printf("%s has %d chars\n",s,strlen(s));
return 0;
}
输出:Nice to meet you! has 17 chars
str.length()和str.size():
用于求string类对象长度的成员函数
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str="blabla";
cout<<str.length()<<endl;
cout<<str.size()<<endl;
return 0;
}
输出:
6
6
注意:#include<string.h>和#include<cstring>以及#include<string>的区别
#include<string.h>和#include<cstring>都是C语言的头文件,#include<string>为C++的头文件
strlen和sizeof的区别:
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。
该类型保证能容纳实现所建立的最大对象的字节大小。
2.sizeof是算符,strlen是函数。
3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。
sizeof还可以用函数做参数,比如:
short f();
printf("%d\n", sizeof(f()));
输出的结果是sizeof(short),即2。
4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。
5.大部分编译程序 在编译的时候就把sizeof计算过了 是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因
char str[20]="0123456789";
int a=strlen(str); //a=10;
int b=sizeof(str); //而b=20;
6.strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。
#include<iostream>
#include<string>
using namespace std;
int main()
{
char * ss = "12345678";
int a=sizeof(ss);
int b=strlen(ss);
cout<<a<<" "<<b<<endl;
}
输出:
4
8
- strlen(char *)和str.length()以及str.size()的区别
- C/C++ strlen(str)和str.length()和str.size()的区别
- C/C++ strlen(str)和str.length()和str.size()的区别
- strlen和str.length()的区别
- strlen和str.length()的区别
- strlen和str.length()的区别 .
- 关于求字符串长度的问题,(strlen(),str.size()和str.length())
- strlen()和str.length()使用区别
- char *str和char str[]的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[] 和 char *str 的区别
- char str[]和char* str的区别
- char str[] 和 char *str 的区别
- android启动activity报android.content.res.Resources$NotFoundException: String resource ID #0x0
- Unity 用户手册 用户指南创建游戏旧动画系统动画视图指南
- C++随记:Debugging information for "Project.exe" cannot be found or does not match.
- 代码创建UISearchDisplayCountroller
- V4L2文档翻译(七)
- strlen(char *)和str.length()以及str.size()的区别
- 聚合网数据调用接口试用
- 程序2.1 顺序搜索算法
- 【树】遍历二叉树
- C语言代码跟踪调试
- 多线程的那点儿事(基础篇)
- VS2005 Ogre 简单测试程序创建
- py2exe打包,vista/win7下图标显示问题的解决方案
- java 23种设计模式