Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Projektni zadatak] Interpreter komandle linije (ljuska, shell)

[es] :: C/C++ programiranje :: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)

[ Pregleda: 2802 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milicapet

Član broj: 249893
Poruke: 3
*.teol.net.



Profil

icon [Projektni zadatak] Interpreter komandle linije (ljuska, shell)03.02.2010. u 21:42 - pre 173 meseci
Na slici je sve napisano, ako moze neko da mi pomogne oko ovog zadatka, posto sam pocetnik.



[Ovu poruku je menjao milicapet dana 03.02.2010. u 23:36 GMT+1]

[Ovu poruku je menjao milicapet dana 03.02.2010. u 23:36 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
212.200.65.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)04.02.2010. u 07:13 - pre 173 meseci
@milicapet

Pitanja koja se očekuju na ovom forumu su:

"Kako prikazati sadržaj trenutnog direktorijuma", "Kako se vrši parsiranje (raščlanjivanje) unetog teksta, da bi se razdvojila komanda od argumenata", "Kako se menja tekući direktorijum", "Kako se briše ekran", itd...

I pre svega, da bi neko pomogao, treba pokazati sopstvenu inicijativu, tj.započeti zadatak...

U ovom obliku, pitanje je pre za forum IT berza poslova.


Ovakve teme se po pravilu brišu, ali pošto ti je ovo prva poruka ostavićemo ovako u nadi neće li ti neko pomoći nekim konkretnim linkom ili se ne nađe neko ko ima bilo šta gotovo vezano za pomenuti zadatak.

EDIT X Files : Preimenovao sam naslov teme.
 
Odgovor na temu

milicapet

Član broj: 249893
Poruke: 3
*.teol.net.



Profil

icon Re: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)05.02.2010. u 12:11 - pre 173 meseci
Evo uradila sam funkciju za brisanje datoteke u ovom slucaju to je datoteka "a" unutar otvorenog direktorijuma "." .

Code:
#include <stdio.h>
#include <dirent.h>
int  main()
{
        
        DIR *dir;
        char buf[256];

        dir = opendir(".");

       
                
                sprintf(buf, "%s/%s", ".", "a");
                remove(buf);
        
       

}



Takodje sam uradila i funkciju za brisanje CLR.
Code:
#include <stdlib.h>
int main(void)
{
system("clear");
}



Kako sad da uradim ovo trenutni_direktorijum:_ pa kad unesem RM DAT da pozove ovu funkciju za brisanje. Probala sam sa grananjem ali mi ne ide :(
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)05.02.2010. u 12:43 - pre 173 meseci
Program treba da radi u beskonačnoj petlji. U svakom koraku petlje čita se ulazna naredba. Onda radiš leksičku analizu te naredbe i pozivaš odgovarajuće funkcije (ne programe). Korišćenje system funkcije je ovde varanje jer system funkcija koristi već gotov shell da izvršava druge programe.

Dakle u pseudo kodu:

Code:

int obrisi(char *arg) {
  // proveri da li datoteka *arg postoji funkcijom stat i
  // pozovi brisanje uz proveru povratne vrednosti
}

...

int main(int argc, char *argv[]) {
 
  char line[1024], *tmp;

  while(1) {
  
      char *currdir;
      currdir = getcwd(NULL, 0);

      printf("%s: ", currdir);
      free(currdir);
      fflush(stdout);

      if( (tmp = fgets(line, 1023, stdin)) == NULL) {
          break;
          // nema nove komande ili je doslo do greske,
         // opciono proveriti errno i ispisati gresku
      }
      
     // sada analiziraj unos u line i pozivaj odgovarajuce ranije napisane funkcije
     // korisna funkcija je strtok iz string.h

  }

  return 0;
}


Korisna pomoć pri radu su ti man stranice, ako ih nemaš instalirane na računaru možeš na google-u da kucaš "man <ime funkcije>", npr. man strtok. Od literature preporučujem ti APUE knjigu, ako je nema u biblioteci fakulteta, može se pronaći kopija na Internetu.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

milicapet

Član broj: 249893
Poruke: 3
*.teol.net.



Profil

icon Re: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)06.02.2010. u 16:31 - pre 173 meseci
Jel moze neko da mi objasni kako se provjerava ta naredba. Pokusala sam sa strcmp() ali mi ne ide.

Znaci obezbjedila sam unos komande. I dosla do provjere da li je npr uneseno "cd" ako jeste da pozove funkciju za mjenjanje direktorijuma.
 
Odgovor na temu

[es] :: C/C++ programiranje :: [Projektni zadatak] Interpreter komandle linije (ljuska, shell)

[ Pregleda: 2802 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.