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