Looking for C source code for snprintf()
我需要将snprintf()移植到另一个不完全支持GLibC的平台上。
我正在寻找Glibc 2.14源代码中的基础声明。我遵循许多函数调用,但是卡在vfprintf()上。然后,它似乎调用_IO_vfprintf(),但我找不到该定义。可能是宏使事物变得混乱。
我需要查看真正的C代码,该代码可以扫描格式字符串并计算如果输入缓冲区足够大时它将写入的字节数。
我也尝试在newlib 1.19.0中进行查找,但是我被卡在_svfprintf_r()上。我在任何地方都找不到定义。
有人可以将我指向snprintf()的另一个定义吗?
我花了很长时间来挖掘源代码,以便在Newlib中找到
实际来源位于vfprintf.c文件中。有一个宏
1 2 3 4 5 6 7 8 | int _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap), struct _reent *data _AND FILE * fp _AND _CONST char *fmt0 _AND va_list ap) { ... |
GNU C库(glibc)的源代码托管在sourceware.org上。
这里是
https://sourceware.org/git/?p=glibc.git;a=blob;f=stdio-common/vfprintf.c
http://www.ijs.si/software/snprintf/声称它们是snprintf的可移植实现,包括vsnprintf.c,asnprintf,vasnprintf,asprintf,vasprintf。也许可以帮忙。