找回密码
 register

QQ登录

只需一步,快速开始

[*LUA4*] strlen("Hello Lua \000What?") 获取字符串长度的一个小陷阱

[复制链接]

[*LUA4*] strlen("Hello Lua \000What?") 获取字符串长度的一个小陷阱

[复制链接]
Waylee

主题

0

回帖

7459

积分

仙帝

积分
7459
Waylee 2022-1-9 22:54 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
在 Lua 4.0 中,可以使用 strlen 函数来获取字符串的长度,但是有一些特性容易忽视。
以下是一个例子来展示这一点。
local b1 = strlen("Hello Lua \000What?")
print(b1) -- 输出16,字符串长度包括 '\0' 和它后面的字符

local b2 = strlen("Hello Lua What?")
print(b2) -- 输出15

总结
  • 在 Lua 4.0 中,'\0' 或 '\000' 表示一个普通字符,类似的还有 '\n' 换行符。
  • Lua 不会将 '\0' 视为字符串的终止符,与 C 语言的行为不同,'\0' 后面的内容依然会被计算在内。

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2024-11-22 01:29 , Processed in 0.052671 second(s), 6 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

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