如何使用%q";在C-API中格式化lua_缓冲区

如何使用%q";在C-API中格式化lua_缓冲区,c,api,lua,lua-api,C,Api,Lua,Lua Api,(“%q”,foo_str)将格式化一个字符串,以添加适当的转义字符,以便安全地读回Lua解释器。如何最好地使用此函数从C-API格式化Lua_缓冲区?更一般地说,如何从C-API访问string.*函数?我可以使用(“string.format”,…),但我想知道是否有更直接的方法。在lstrlib.c模块中,format函数被定义为静态函数,因此唯一的方法是通过string表 我想您可以查看lstrlib.c中的addquoted,并根据您的使用进行调整,但调用string.format可能

(“%q”,foo_str)将格式化一个字符串,以添加适当的转义字符,以便安全地读回Lua解释器。如何最好地使用此函数从C-API格式化Lua_缓冲区?更一般地说,如何从C-API访问string.*函数?我可以使用(“string.format”,…),但我想知道是否有更直接的方法。

lstrlib.c
模块中,
format
函数被定义为静态函数,因此唯一的方法是通过
string

我想您可以查看
lstrlib.c
中的
addquoted
,并根据您的使用进行调整,但调用
string.format
可能更容易