Solaris 模块调试器指南

mdb_snprintf()

size_t mdb_snprintf(char *buf, size_t len, const char *format, ...);

基于指定的格式字符串和参数构造带格式字符串,并将生成的字符串存储在指定的 buf 中。mdb_snprintf() 函数接受与 mdb_printf() 函数相同的格式说明符和参数。len 参数指定 buf 的大小(以字节为单位)。 在 buf 中放置的带格式字节不超过 len - 1 个;mdb_snprintf() 始终使 buf 以空字节结尾。该函数返回完整的带格式字符串所需的字节数,不包括结尾的空字节。如果 buf 参数为 NULL,而且 len 设置为零,则该函数不会将任何字符存储到 buf 中,但返回完整的带格式字符串所需的字节数;此技术可用于确定适当的缓冲区大小以进行动态内存分配。