【问题标题】:How to limit the amount of characters in a Lua string如何限制 Lua 字符串中的字符数
【发布时间】:2016-03-02 17:22:15
【问题描述】:

我有一个问题:如何使lua_tostring 函数限制条目数量。

例如 8 个字符限制:

poppy_name = "command"; // OK, within the limit;
poppy_name = "commander"; // Fail, Is out of range, show a message the permitted limit.

我搜索了找不到了,有没有办法限制lua_tostring

【问题讨论】:

    标签: c lua lua-api


    【解决方案1】:

    使用lua_tolstring获取字符串长度,如果字符串太长则使用lua_errorluaL_error

    size_t arg_len;
    lua_tolstring(L, 1, &arg_len);
    if (arg_len > 8) return luaL_error(L, "argument too long");
    

    【讨论】:

    • @MarcosSilva size_t *myLen; lua_tolstring(L, 1, &myLen); if( myLen > 8 ) raise hell
    • 了解您的示例 hjpotter92,案例已解决。谢谢
    • @Marcos Silva 如果他的回答对您有帮助,请按旁边的绿色复选标记接受它,这是为了帮助未来遇到相同问题的用户更快地找到答案。
    • 在答案中添加了一个例子,谢谢@hjpotter92
    • 应该是size_t arg_len,而不是size_t *arg_len。不幸的是,要修复的编辑太短了...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2019-04-12
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    相关资源
    最近更新 更多