c - 获取recv函数返回的错误号

标签 c linux return-value errno strerror

如何获取socket通信中recv()返回的错误号或错误字符串,recv()返回-1作为读取大小,这意味着发生了一些错误。我想知道错误的具体原因。那么我怎样才能得到它。

最佳答案

您需要包含errno.h并使用errno全局变量来检查最后一个错误代码。另外,您可以使用strerror()打印一个区域设置感知字符串来解释错误。

示例

#include <errno.h>

ssize_t size;

if ((size = recv( ... )) == -1)
{
    fprintf(stderr, "recv: %s (%d)\n", strerror(errno), errno);
}

关于c - 获取recv函数返回的错误号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34854634/

相关文章:

c - makecontext 函数中的指针说明

node.js - 在 Mongoose Schema 中返回 "parent"集合特定值

c - 编写大量 printf 函数会减少程序的运行时间

c - scanf 退格键 (0x08) 和 EOT(0x04)

linux - 从另一个脚本停止正在运行的 bash 脚本

Python递归不返回值

scala - 匹配案例的Scala返回值

有人可以告诉我为什么我在这段代码中使用它的前序和后序创建的二叉树没有以所需的方式创建吗?

c - 无论输入如何,strcmp 始终为真

linux - 在 X.Org 中控制对显卡的访问