乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ[重磅]2024年实地培训高清培训目录火山PC版乐易模块使用教程
有了火山,易语言是否还有必要学习吗?易语言0基础入门课程火山PC视窗0基础入门课程
乐易论坛官方QQ群一览表易语言外挂0基础入门课程火山PC视窗火山HOOK入门课程
易语言误报处理课程QQ空间POST课程2022年火山PC易语言POST系列课程
Android逆向Jeb动态调试0基础课程QQ邮箱网页POST课程WeChat个微Hook实战课程
百日Js加密分析实战课程(无密下载)QQ群POST课程h5游戏WebSocket逆向视频
JavaScript加密特训课程易语言汇编快速入门课程破解实战系列课程
手游模拟器脚本0基础课程易语言加密防破解0基础入门课程广告位招租联系QQ1615457736
查看: 7386|回复: 1

C++中 关于sizeof 跟strlen 的区别

[复制链接]

C++中 关于sizeof 跟strlen 的区别

[复制链接]
已绑定手机
已实名认证
有妖气
等级头衔

等級:顶级Vip

Rank: 14Rank: 14Rank: 14Rank: 14

积分成就
易币
贡献
主题
精华
金钱
积分
696
注册时间
2014-11-22
最后登录
1970-1-1

勋章墙

2017-3-9 13:54:01 | 显示全部楼层 |阅读模式
这是非常容易搞混的两个命令  给大家普及一下

         char *t = "a";
         char t1[MAX_PATH] = "aaaaaa";
         
         char display1[MAX_PATH];
         char display2[MAX_PATH];
         int len = sizeof(t);
         int len1 = strlen(t);
         itoa(len, display1, 10);
         itoa(len1, display2, 10);
         out(display1);
         out(display2);
显示


sizeof 在取指针char的时候,不管多长长度都是4
sizeof 在取指针时,取到的是指针的长度,而不是char内容 的长度
strlen 取到的则是char的长度,汉子占2个长度
sizeof 在取charmaxpath】的时候,不管多长长度都是maxpath
sizeof 在取指针时,取到的是数组定义的长度,而不是char内容 的长度
strlen 取到的则是char的长度,汉子占2个长度
streln 取得长度比sizeof更准确


网上说法:
#include"stdafx.h"
#include "windows.h"
#include <iostream>
using namespace std;
int_tmain(int argc, _TCHAR* argv[])
{
char str1[]="abcde";
char str2[]="我是中国人";
WCHAR str3[]=L"abcde";
WCHAR str4[]=L"我是中国人";
cout<<strlen(str1)<<endl;
cout<<sizeof(str1)<<endl;
cout<<endl;
cout<<strlen(str2)<<endl;
cout<<sizeof(str2)<<endl;
cout<<endl;
cout<<wcslen(str3)<<endl;
cout<<sizeof(str3)<<endl;
cout<<endl;
cout<<wcslen(str4)<<endl;
cout<<sizeof(str4)<<endl;
cout<<endl;
return0;
}
输出结果:
5
6
10
11
5
12
5
12
请按任意键继续. . .
由此可见,strlen返回的是字节数(对中英文不一致,中文占两个字节,不包括'/0'),而wcslen返回的是字符数(对中英文一致)。而sizeof返回的是字节数(包含'/0',而'/0'在Unicode下也是占两个字节的)。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

已绑定手机
已实名认证
揰掵佲
等级头衔

等級:乐易运营组

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
易币
贡献
主题
精华
金钱
积分
33740
注册时间
2014-8-2
最后登录
1970-1-1

勋章墙

2017-3-9 19:08:39 | 显示全部楼层
哈哈!又更新了,收藏了.
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2024-4-28 11:03 , Processed in 0.068193 second(s), 44 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表