我的代码是
system_call(SYS_OPEN,argv[2],0,)
其中argv [2] =“a.txt” SYS_OPEN = 5 第四个参数应该是许可,我不知道该写什么
将“保存”到指针之后我想像这样阅读和打印
while(system_call(SYS_READ,STDIN, input_char , 1)>0)
{
system_call(SYS_WRITE,STDOUT,input_char, 1);
}
谢谢。
答案 0 :(得分:2)
这是一个系统调用列表(可能是一个但过时的,但对您有用)http://asm.sourceforge.net/syscall.html。您可以在适当的Linux内核源代码中检查sys_open,sys_read,sys_write等的实现细节和system_call的用法..
答案 1 :(得分:1)
您可以使用库函数编写代码来执行此操作(即open
(2),read
(2)),然后在strace
下运行程序以查看函数调用它制作和使用的参数,然后在你自己的代码中复制....
答案 2 :(得分:0)
通过使用int作为文件指针来获取它:
char input_char[1];
int file = system_call(SYS_OPEN,argv[j],0,0777);
while(system_call(SYS_READ,file, input_char , 1) >0 )
{
system_call(SYS_WRITE,STDOUT,input_char, 1);
}
感谢您的意见和帮助