シンプルなシェルをCでコーディングしようとしていますが、sys/wait.hを使用することはできません。私はDEV-C++を使用していますし、結果はエラー:sys/wait.h:そのようなファイルやディレクトリがありません
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
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");
}
}
:ここで
[Error] sys/wait.h: No such file or directory
何が間違って同じことを私のコード?誰かがシンプルなシェルをCまたはC++で作成するための提案があれば、私にリンクやコードを教えてください。ありがとう!
まあ...含めるパスの1つのsysというサブディレクトリにwait.hというファイルがありますか? – Vicky
ウィンドウの下に 'fork()'はありませんので、 'wait()'もありません。より* IX互換であるためには、gccを提供するCygwin環境を使用するように切り替えることができます。また、この回答を参照してください:http://stackoverflow.com/a/7841250/694576 – alk
申し訳ありません私はそれがC/C + +のライブラリだと思った? – Thangnv