c - 使用写入将整数写入文件描述符?

标签 c unix file-descriptor

我想使用 write (http://linux.about.com/library/cmd/blcmdl2_write.htm) 将整数 1 写入第一个字节,将 0x35 写入文件描述符的第二个字节,但我得到以下信息当我尝试以下操作时发出警告:

write(fd, 1, 1);
write(fd, 0x35, 1);


source.c:29: warning: passing argument 2 of ‘write’ makes pointer from integer without a cast
source.c:30: warning: passing argument 2 of ‘write’ makes pointer from integer without a cast

最佳答案

您需要传递一个地址,因此您需要某种形式的变量。

如果你只需要一个字符:

char c = 1;
write(fd, &c, 1);
c = 0x35;
write(fd, &c, 1);

或者使用数组(这个一般比较常见):

char data[2] = { 0x01, 0x35 };
write(fd, data, 2);

关于c - 使用写入将整数写入文件描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9597073/

相关文章:

c - 如何获取C中分隔字符串的位置

c - 尝试将 fmemopen 文件描述符与 stdin 相关联时出现错误的文件描述符错误

c - 如何将套接字从父进程传递给子进程

c - 三联字

c - 通过 Makefile 构建并构建脚本有效,但等效的 Makefile.am 没有。(给出 undefined reference 错误)

c++ - 将 C 实现的静态分配工作空间转换为 C++

c - 中断服务程序中发生了什么?

linux - 使用 GPG 密码保护 .GZ 文件

linux - 如何在 bash 运行时使用 $ 创建变量值

python - 如何从使用屏幕重绘的程序获取输出以用于终端屏幕抓取工具?