pisanie własnej powłoki
: 28 kwietnia 2009, 22:10
Napisałem swoją powłokę:
Program się kompiluje i wykonuje ale tylko jeden raz. Po wpisaniu polecenia wykonywane jest ono ale wyskakuje błąd:i program się zamyka.
Druga sprawa dotyczy tego aby dopisać kod, który spowoduje że wpisane polecenie będzie wykonywane w tle. Nie wiem jak się do tego zabrać. Prosiłbym o jakieś wskazówki.
Kod: Zaznacz cały
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp;
char t[100];
while(1)
{
/* Sekwencja otwierajaca plik w trybie do zapisu */
if((fp=fopen("test", "w")) == NULL) {
printf("Cannot open file.\n");
exit(1);
}
printf("Enter a string and a number: ");
fscanf(stdin, "%s", &t); /* Wczytujemy z klawiatury */
system(t);
}
return 0;
}
Kod: Zaznacz cały
Naruszenie ochrony pamięci
Druga sprawa dotyczy tego aby dopisać kod, który spowoduje że wpisane polecenie będzie wykonywane w tle. Nie wiem jak się do tego zabrać. Prosiłbym o jakieś wskazówki.