errorno 和WSAGetlasterror的区别

errno 和 WSAGetLastError 是用于获取错误代码的机制,但它们应用于不同的编程场景,下面为你详细介绍二者的区别:

应用场景

  • errno:它是 C 和 C++ 等编程语言里用于表示系统调用和库函数错误的全局变量。在 Unix、Linux 等类 Unix 系统以及 Windows 上的一些标准 C 库函数中广泛使用。只要调用的函数出现错误,就会设置 errno 变量。
  • WSAGetLastError:这是 Windows Sockets API 中的一个函数,专门用于获取 Windows 套接字操作所产生的错误代码。在进行 Windows 平台的网络编程,使用如 socketconnectsendrecv 等套接字函数时,如果操作失败,就需要调用 WSAGetLastError 来获取具体的错误代码。

错误代码体系

  • errno:其错误代码是由操作系统和标准 C 库定义的,这些错误代码适用于各类系统调用和标准库函数,涵盖文件操作、内存管理、进程管理等诸多方面。不同的操作系统可能会有细微差异,但大体上是相似的。例如,在类 Unix 系统中,EACCES 表示权限不足,ENOENT 表示文件或目录不存在。
  • WSAGetLastError:该函数返回的错误代码是 Windows 套接字特有的,专门针对网络编程中的错误。这些错误代码与网络连接、数据传输、协议处理等操作相关。例如,WSAECONNREFUSED 表示连接被拒绝,WSAETIMEDOUT 表示连接超时。

总结:

1.windows 进行socket编程 获取错误码 用WSAGetLastError()

2.linux进行socket编程 获取错误码 用errno

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++ 老炮儿的技术栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值