lua c api:如何在中间推送一个带空字符的字符串?

时间:2010-05-10 01:12:32

标签: c api lua

通常,我会使用

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

但是,我要推送的字符串可能包含空字符。我该如何做到这一点?

1 个答案:

答案 0 :(得分:12)

使用lua_pushlstring

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

用s指向s指向的字符串   大小len堆栈。 Lua(或   重用)给定的内部副本   字符串,所以s的内存可以   在之后立即释放或重复使用   功能返回。字符串可以   包含嵌入的零。