我有大约30个可变函数。每个参数都接受一个路径作为最后一个参数,例如:
bool do_foo(struct *f, int q, const char *fmt, ...)在每个函数中,我必须检查扩展后的格式是否小于或等于某个特定的大小。因此,我发现自己复制/粘贴了相同的代码块来检查vsnprintf()没有打印多少字符,并相应地设置errno,然后退出编写。我想要做的是写一个函数来做这件事,它将返回一个已知为安全大小的静态分配的(扩展的)字符串,或者在失败时返回新初始化的字符串,可以根据NULL进行检查。有没有一种方法可以将e
有没有一种方法可以防止将对象传递给省略号?示例: 省略号用在下面的函数中 int my_printf( const char * format, ... ); 并且有一个某种类型的对象: struct Text const char *c_str();Text text; 有没有可能更改struct Text,使以下代码无法编译?my_printf("%s", text ); // should fail to compile
my_printf("%s&q