Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.54 KB | None | 0 0
  1. //g++ lista.cpp -o lista && ./lista
  2. #include <unistd.h>
  3. #include <dirent.h>
  4. #include <fcntl.h>
  5. #include <sys/types.h>
  6. #include <errno.h>
  7.  
  8. #include <string>
  9. #include <vector>
  10. #include <algorithm>
  11. #include <iostream>
  12. using namespace std;
  13.  
  14. int main()
  15. {
  16.         int ofile;
  17.         char nazwa[255];
  18.         while (1)
  19.         {
  20.  
  21.             cout<<"Podaj nazwe pliku"<<endl;
  22.             cin>>nazwa;
  23.             ofile= open(nazwa,O_APPEND|O_WRONLY|O_CREAT|O_EXCL,0600);
  24.             if (ofile==-1)
  25.             {
  26.                 if (errno==EEXIST)
  27.                 {
  28.                     cout<<"ERROR "<<EEXIST<<" EEXIST:plik już istnieje; podaj inn▒^▒ nazw▒^▒"<<endl;
  29.                 }
  30.                 else cout<<"Inny blad\n";
  31.             }
  32.             else break;
  33.         }
  34.         string nazwyPlikow[1000];
  35.         struct dirent *plik;
  36.         DIR * sciezka;
  37.         int iloscPlikow=0;
  38.         if (sciezka=opendir("."))
  39.         {
  40.                 while (plik=readdir(sciezka))
  41.                 {
  42.                         if (strcmp(plik->d_name,nazwa)==0) continue;
  43.                         string temp=plik->d_name;
  44.                         nazwyPlikow[iloscPlikow]=temp+"\n";
  45.                         iloscPlikow++;
  46.                 }
  47.                 closedir(sciezka);
  48.         }
  49.         sort(nazwyPlikow, nazwyPlikow+iloscPlikow);
  50.  
  51.         for (int i=0; i<iloscPlikow; i++)
  52.         {
  53.                 const char *temp = nazwyPlikow[i].c_str();
  54.                 write(ofile,temp,strlen(temp));
  55.         }
  56.         close(ofile);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement