VxWorks提供了strerror的一个版本,它只接受两个参数。
STATUS strerror_r
(
int errcode, /* error number */
char *buffer /* string buffer */
)
cURL提到
MAXERRSTR_SIZE
。vxworks样式的strerror\u r()确实使用了我们传递给函数的缓冲区缓冲区大小至少应为rtsell.h中定义的maxerstr_size(150)
但我似乎在发行版的任何地方都找不到rtsalled.h文件。
复制到缓冲区中的消息的最大大小是多少?是否在某处定义了一个#define或整数常量?
最佳答案
供以后参考在写入时,最大大小为NAMEYMAX,或255字节。记住终止字节,并传递至少256字节的缓冲区以确保安全(看来我可以查一下VxWorks上strerror的来源对不起,我不知道。
关于c - VxWorks上strerror_r的最大消息大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22856387/