Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.38 KB | None | 0 0
  1. #include <unistd.h>
  2. #include <fcntl.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6.  
  7.  
  8. void NoweZnakiDoPliku(const char *fname)
  9. {
  10.     FILE* plik = fopen(fname, "w+r" );
  11.     int i;
  12.     int liczbaDoZapisu;
  13.     //char *doZapisu;
  14.     for(i = 0; i<5; i++)
  15.     {
  16.         scanf(" %d", &liczbaDoZapisu);
  17.         fflush(plik);
  18.         fprintf(plik, "%d\n", liczbaDoZapisu);
  19.         fflush(plik);
  20.     }
  21.     fclose(plik);
  22. }
  23.  
  24. int *OdczytajDoTablicy(const char *fname, int *rozmiar)
  25. {
  26.     FILE* plik = fopen(fname, "r+" );
  27.     int n;
  28.     int i = 1;
  29.     int* tab;
  30.     tab = (int*)malloc(sizeof(int) * i);
  31.     int napotkanoEOF = 0;
  32.     while(!napotkanoEOF)
  33.     {
  34.         fscanf(plik, "%d\n", &n);
  35.         if(feof(plik) != 0)
  36.         {
  37.             napotkanoEOF = 1;
  38.                
  39.         }
  40.         tab[i-1] = n;
  41.         i++;
  42.         tab = (int*)realloc(tab, sizeof(int) * i);
  43.     }
  44.     *rozmiar = i-1;
  45.     fclose(plik);
  46.     return tab;
  47. }
  48.  
  49. void OdczytajTablice(int* tab, int rozmiar)
  50. {
  51.     int i;
  52.     for(i = 0; i<rozmiar; i++)
  53.     {
  54.         printf("%d \n", tab[i]);
  55.     }
  56. }
  57.  
  58. int exists(const char *fname)
  59. {
  60.     FILE *file;
  61.     if ((file = fopen(fname, "r")))
  62.     {
  63.         fclose(file);
  64.         return 1;
  65.     }
  66.     return 0;
  67. }
  68.  
  69. const char* fpName = "liczby.txt";
  70.  
  71. int main()
  72. {
  73.     printf("Wybierz opcje:\n a - napisz 5 liter do pliku\n b- modyfikuj wprowadzone\n");
  74.     char chooseOption;
  75.     scanf(" %c", &chooseOption);
  76.  
  77.     switch (chooseOption)
  78.     {
  79.         case 'a':
  80.             NoweZnakiDoPliku(fpName);
  81.         break;
  82.         case 'b':
  83.             if(exists(fpName))
  84.             {
  85.                 printf("Plik nie istnieje! Najpierw dopisz!\n");
  86.                 return 1;
  87.             }
  88.         break;
  89.         default:
  90.             printf("Bledne polecenie, elo\n");
  91.             return 1;
  92.     }
  93.     printf("Wpisz A, G lub H\n");
  94.     scanf(" %c", &chooseOption);
  95.     FILE* plik = fopen(fpName, "w+r" );
  96.     int rozmiar;
  97.     int *tab;
  98.     switch (chooseOption)
  99.     {
  100.         case 'A':
  101.             tab=OdczytajDoTablicy(fpName, &rozmiar);
  102.             OdczytajTablice(tab, rozmiar);
  103.         break;
  104.         case 'G':
  105.             break;
  106.         case 'H':
  107.             break;
  108.     }
  109.    
  110.  
  111.     return;
  112.     int des;
  113.  
  114.     des = open( "file.txt", O_CREAT | O_WRONLY | O_APPEND,  0666 );
  115.    
  116.     if( des < 0 ){
  117.         write( 2, "Error!\n", 7 );
  118.         return 1;
  119.     }
  120.  
  121.         if( write( des,"Test!\n", 6) != 6) {
  122.         write( 2, "Error!\n", 7);
  123.         return 1;
  124.         }
  125.         close(des);
  126.         des = open( "file.txt", O_RDONLY,  0666 );
  127.        
  128.         if( des < 0 ){
  129.             write( 2, "Error!\n", 7 );
  130.         return 1;
  131.          }
  132.         char tst[20];
  133.         read(des, tst, sizeof(tst));
  134.         fprintf(stdout, "Odczytano: %s\n", tst);
  135.    
  136.  
  137.     return 0;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement