const char *lua_tolstring (lua_State *L, int index, size_t *len);
Converts the Lua value at the given acceptable index to a C string. If len
is not NULL
, it also sets *len
with the string length. The Lua value must be a string or a number; otherwise, the function returns NULL
. If the value is a number, then lua_tolstring
also changes the actual value in the stack to a string. (This change confuses lua_next
when lua_tolstring
is applied to keys during a table traversal.)
lua_tolstring
returns a fully aligned pointer to a string inside the Lua state. This string always has a zero ('=\0=') after its last character (as in C), but may contain other zeros in its body. Because Lua has garbage collection, there is no guarantee that the pointer returned by lua_tolstring
will be valid after the corresponding value is removed from the stack.