0
我想使用execv()來允許我從終端讀入輸出文件outputfile.txt。我遇到的問題是它根本無法工作,我不知道我是否正確使用它。使用execv來做基本的I/O
我迄今爲止代碼:
void my_shell() {
char* args[2];
args[0] = "/usr/bin/tee";
args[1] = "outputfile.txt";
execv(args[0], &args[0]);
}
int main() {
cout << "%";
//string input;
pid_t pid, waitPID;
int status = 0;
pid = fork();
if (pid == 0) {
my_shell();
}
else if (pid < 0) {
cout << "Unable to fork" << endl;
exit(-1);
}
while ((waitPID = wait(&status)) > 0) {
}
return 0;
}
什麼,現在在做正確的是,什麼也沒發生的。該程序分叉罰款,但my_shell中什麼都沒有做任何事情。我究竟做錯了什麼?
您忘記了空終止符。仔細閱讀手冊。 –