我正在尝试编写一个可以处理重定向的简单 shell。但是,我得到“错误:指针和整数之间的比较”。我明白为什么会出现错误,但我不确定如何修复它。
args 声明为:
static char* args[512];
这是我收到错误的代码:
if(args == '<'){
int fd0 = open("input.txt", READ, 0);
dup2(fd0, STDIN_FILENO);
close(fd0);
}
if(args == '>'){
int fd1 = creat("output.txt", 0644);
dup2(fd1, STDOUT_FILENO);
close(fd1);
}
错误位于 if(args == '') 行
欢迎任何建议。
我假设 args 是一个指针 char (char *)。
如果是这样,则您正在将指针与单个字符进行比较。
你可以这样做:
if(args[0] == '>')
//then do something
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)