代码之家  ›  专栏  ›  技术社区  ›  anon

lua c api:如何推送中间有空字符的字符串?

  •  4
  • anon  · 技术社区  · 16 年前

    通常,我会用

    lua_pushstring(lua_State* L, const char* s);
    

    但是,我要推送的字符串可能包含空字符。我该怎么做?

    1 回复  |  直到 16 年前
        1
  •  12
  •   Amber    16 年前

    使用 lua_pushlstring .

    void lua_pushlstring (lua_State *L, const char *s, size_t len);
    

    用 把镜头调整到堆栈上。Lua制造(或 重复使用)给定的 字符串,所以s处的内存可以是 在 函数返回。绳子可以 包含嵌入的零。