我试图用C编写一个简单的shell,但是我不能使用sys/wait.h。我的代码相同的是:错误:sys/wait.h:没有这样的文件或目录
#include
#include
#include
#include
int main(void) {
char command[BUFSIZ];
int status;
pid_t pid;
for(;;) {
printf("simpsh: ");
if(fgets(command, sizeof(command), stdin) == NULL) {
printf("\n");
return 0;
}
command[strlen(command) - 1] = '\0';
if((pid = fork()) == 0)
execlp(command, command, 0);
while(wait(&status) != pid)
continue;
printf("\n");
}
}
我用DEV-C++和结果是:
[Error] sys/wait.h: No such file or directory
什么错在这里?如果有人对我用C或C++创建一个简单的shell有一些建议,请给我一些链接或代码。谢谢!
2013-08-02
Thangnv
+3
那么......你有一个叫做wait.h的文件,它在包含路径之一的一个名为sys的子目录中? –
+2
在windows下没有fork(),所以也没有'wait()'。要更好地兼容* IX,您可能希望切换到使用提供gcc的Cygwin环境。也请看到这个答案:http://stackoverflow.com/a/7841250/694576 –
+0
对不起,我认为这是一个C/C + +的图书馆? –