c++ - 使用 C 中系统调用的文件描述符

标签 c++ c linux assembly linux-kernel

嘿我想使用系统调用打开并读取文件 并逐字打印其中的数据 我在汇编文件中有函数 system_call 我想“保存”到来自 system_call(SYS_OPEN 使用它。目的不是使用#include目录

我的代码是

system_call(SYS_OPEN,argv[2],0,)

其中 argv[2] = "a.txt" 系统打开 = 5 第四个参数应该是权限,我不知道在那里写什么

将其“保存”到指针后,我想像这样阅读和打印

while(system_call(SYS_READ,STDIN, input_char , 1)>0)
  {
  system_call(SYS_WRITE,STDOUT,input_char, 1);
  }

谢谢。

最佳答案

这是系统调用列表(可能已经过时,但对您有用)http://asm.sourceforge.net/syscall.html您可以在适当的Linux内核源中检查system_call的实现细节和用法,以了解sys_open、sys_read、sys_write等。

关于c++ - 使用 C 中系统调用的文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16141617/

相关文章:

json - 如何将文本文件拆分为多个文件并从行前缀中提取文件名?

linux - 重启服务crontab问题

c++ - 使用 SEH(结构化异常处理)时观察到的不同行为

c++ - 如何通过矩阵的上三角形压平循环?

c++ - 无法插入到 std::map (G++)

c - 我怎样才能找到这段代码中的漏洞?

c - 手动矢量化 C 代码的最佳方法

java - 使用 Java 通过 inode 查找文件

c++ - 带有运算符的简单用户定义类 = 重载代码崩溃

c - 每第 N 个单词插入字符串