c/c++语言开发共享使用write()将变量的字节写入文件描述符?

我正在尝试将变量的原始字节发送到某个文件描述符(在这种情况下是一个套接字)。

所以我要说:

size_t number = 3; write(some_fd, number, sizeof(size_t)); 

那么将变量numbersizeof(size_t)字节写入文件描述符some_fd会是什么意思

我目前无法对此进行测试,所以只是想确认一下。

    那么将变量number的sizeof(size_t)字节写入文件描述符some_fd会是什么意思

    不,它不会。

    请记住, write声明为:

     ssize_t write(int fildes, const void *buf, size_t nbyte); 

    你需要使用:

     write(some_fd, &number, sizeof(size_t)); // ^^^ 

    使用&是必要的,可以从number使用的地址写入数字的值。

    write期望缓冲区的地址,该缓冲区具有需要写入的数据。 因此,您需要在您的案例中传递号码地址。

    write可以被打断。 您需要检查写入的返回值,以了解是否成功写入了预期的字节数。 以下是写手册页中的行:

    例如,如果底层物理介质上没有足够的空间,或者在写入少于count个字节后调用被信号处理程序中断,则写入的字节数可能小于count。

    如果在写入任何字节之前,write()被信号处理程序中断,则调用将失败并显示错误EINTR; 如果在写入至少一个字节后中断,则调用成功,并返回写入的字节数。

      以上就是c/c++开发分享使用write()将变量的字节写入文件描述符?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/522474.html

      (0)
      上一篇 2020年12月10日
      下一篇 2020年12月10日

      精彩推荐