Tôi đang cố gắng mã hóa một vỏ đơn giản bằng C. Nhưng tôi không thể sử dụng sys/wait.h. Mã của tôi giống như:Lỗi: sys/wait.h: Không có tệp hoặc thư mục nào như vậy
#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");
}
}
Tôi đang sử dụng dev-C++ và kết quả là:
[Error] sys/wait.h: No such file or directory
gì sai ở đây? Và nếu bất cứ ai có một số gợi ý cho tôi để tạo ra một vỏ đơn giản bằng C hoặc C++ xin vui lòng cho tôi một số liên kết hoặc mã số. cảm ơn!
Vâng ... BẠN CÓ CÓ tệp được gọi là wait.h trong thư mục con được gọi là sys của một trong các đường dẫn bao gồm không? – Vicky
Không có 'fork()' trong các cửa sổ, vì vậy không có 'wait()'. Để được nhiều hơn * IX tương thích bạn có thể muốn chuyển sang sử dụng môi trường Cygwin, cung cấp gcc. Ngoài ra xin vui lòng xem câu trả lời này: http://stackoverflow.com/a/7841250/694576 – alk
xin lỗi tôi nghĩ rằng đó là một thư viện của C/C + +? – Thangnv