我正在尝试将asprintf()
移植到Windows,因为它在Linux上是一个GCC库函数,在Windows上不存在。
我一直在计算var args的长度,所以我可以为它们分配内存。我尝试了两种方法:
将var args写入文件,然后获取函数的结果(这是写入的字节数= var args的长度),但它很愚蠢,因为用户将在他的app dir中看到内部随机数据
使用带有NULL的函数vsprintf()
作为第一个参数(将输出写入的变量),因此它返回var args的长度,但这个失败,因为它仅适用于XP,Windows 7没有不允许写入NULL变量。
关于如何解决这个问题的更多想法?