Archive

Archive for the ‘C’ Category

V C-ju napišite preprost program DIREXE

January 9th, 2008 karlosp No comments
CODE:
  1. V C-ju napišite preprost program DIREXE,
  2. ki izpiše vse datoteke v trenutnem direktoriju,
  3. katere lahko uporabnik zažene. Pri tem ne smete
  4. uporabljati klicev,
  5. ki poganjajo sistemske ukaze (kot so system(...)
  6. ali execX(...)).

C:
  1. #include<dirent .h>
  2. #include<sys /stat.h>
  3.  
  4. int main() {
  5.  
  6.   DIR *dir;              //struktura ki ponazarja directory
  7.   struct dirent *file;   //struktura file-a, ima vec podatkov file-a 
  8.   struct stat results;   //struktura ukaza stat, vec podatkov
  9.  
  10.   dir = opendir(".");
  11.    
  12.   while(file = readdir(dir)) {    //ko ni vec file-ov vrne NULL
  13.  
  14.     stat(file->d_name, &results);   //zapomnimo si podatke file-a v results(struktura stat)
  15.  
  16.     printf("\tres:%d, \n\tS_xisur:%d \n",results.st_mode,S_IXUSR);
  17.     if(results.st_mode & S_IXUSR) {   //preverimo ce je executable
  18.       printf("%s\n", file->d_name )//izpisemo
  19.     }
  20.  
  21.   }
  22.   closedir(dir);
  23. }

Categories: 3 letnik, C, Fax, SPO Tags:

V C-ju napišite program, ki vsakih 5 sekund izpiše vse procese, ki tečejo na sistemu.

January 9th, 2008 karlosp No comments
CODE:
  1. V C-ju napišite program, ki vsakih 5 sekund izpiše vse procese, ki tečejo na sistemu. V programu ne smete uporabljati funkcij system(...) in popen(...).

C:
  1. #include <stdio .h>
  2. #include <unistd .h>
  3. #include <sys /types.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.    int pid;
  8.        while (1==1)
  9.    {
  10.  
  11.       pid = fork();
  12.       if (pid == -1)
  13.       {
  14.               printf("\nNapaka pri zagonu novega procesa!");   
  15.       }   
  16.       if (pid == 0)
  17.       {
  18.             execlp("ps", argv[0], "-e", 0);
  19.  
  20.       }
  21.       else{
  22.          waitpid (pid, NULL, 0);
  23.     }
  24.  
  25.            sleep(5);
  26.  
  27.    }
  28.    return 0;
  29. }

Categories: 3 letnik, C, Fax, SPO Tags:
71258 pages viewed, 274 today
38330 visits, 133 today
FireStats icon Powered by FireStats