Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <errno.h>
  3. //#include <stdio.h>
  4.  
  5. using namespace std;
  6.  
  7. int main ()
  8. {
  9.     char file_path[20];
  10.     cout << "Zadejte cestu k souboru, ktery se ma spracovat: ";
  11.     cin.getline(file_path, 20);
  12.  
  13.     if (FILE * pFile = fopen(file_path, "r"))
  14.     {
  15.         int zalam_radek_po;
  16.         cout << "Zadejte kolik pismen ma byt na jednom radku: ";
  17.         cin >> zalam_radek_po;
  18.  
  19.         if (zalam_radek_po > 11)
  20.         {
  21.             long lSize;
  22.             char * buffer;
  23.             size_t result;
  24.  
  25.             fseek(pFile, 0, SEEK_END);
  26.             lSize = ftell(pFile);
  27.             rewind(pFile);
  28.  
  29.             // obsah souboru
  30.             buffer = (char *) malloc(sizeof(char) * lSize);
  31.  
  32.             result = fread(buffer, 1, lSize, pFile);
  33.  
  34.             int size,x,i = 0;
  35.  
  36.             const int pocet_znaku = (int)strlen(buffer);
  37.  
  38.             char * pole;
  39.  
  40.             size = pocet_znaku;
  41.          
  42.             cout << "   ";
  43.             while(size - i > zalam_radek_po)
  44.             {
  45.                     x = zalam_radek_po + i;
  46.                     while(pole[x]!=' ')     // postupuje v poli o znak zpatky dokud nenajde mezeru
  47.                     {
  48.                         if (pole[x]!=' ')        
  49.                               x=x-1;
  50.                     }
  51.                     while(i!=x)             // provadi tisk znaku dokud nedojde na "posledni" znak ktery je urcen v promene 'X'  
  52.                     {                      
  53.                         cout << pole[i];
  54.                         i++;
  55.                     }
  56.                     i++;
  57.                     cout << endl;           // provede odradkovani
  58.             }
  59.             while(i!=size)              // pokud pocet znaku 'i' neni celkovy pocet znaku tiske zbyvajici znaky
  60.             {
  61.                     cout << pole[i];
  62.                     i++;
  63.             }
  64.             cout << endl;               // provede odradkovani
  65.          
  66.             free(buffer);
  67.             fclose(pFile);   // zrusi spojeni se souborem
  68.  
  69.             cin.get();
  70.         }
  71.         else
  72.         {
  73.             cout << "Zalamovat po '" << zalam_radek_po << "' pismenech pujde asi jen tezko. :-)\n";
  74.             cin.get();
  75.         }
  76.     }
  77.     else
  78.     {
  79.         cout << "Neplatny soubor." << endl;
  80.     }
  81.  
  82.     // Program se ukonci stiskem klavesy ENTER
  83.     cin.get();
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement