Uživatelské nástroje

Nástroje pro tento web


strprg:projekty:bmp

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
strprg:projekty:bmp [19. 03. 2014, 21.54]
hexorr
strprg:projekty:bmp [20. 03. 2014, 14.24] (aktuální)
Řádek 1: Řádek 1:
 ====== Projekt čtečka BMP souborů ====== ====== Projekt čtečka BMP souborů ======
  
-Dostali jsme úkol vytvořit ​tzv. Čtečku BMP souborů. +Dostali jsme úkol vytvořit ​čtečku BMP souborů. 
-Program má ve své ranné, ovšem nejspíše poslední ​fázy, neboť je určen spíše pro začátky programování s Bitmapovými ​soubory, jen několik málo funcí:+Program má ve své rané, ovšem ​<del>nejspíše poslední</​del>​ fázi, neboť je určen spíše pro začátky programování s bitmapovými ​soubory, jen několik málo funcí:
   - Načíst soubor ze složky, ve které se program nachází.   - Načíst soubor ze složky, ve které se program nachází.
   - Přečíst první dva byty z tohoto souboru.   - Přečíst první dva byty z tohoto souboru.
-  - Pomocí 1. a 2. zkontrolovat,​ jestli je soubor ​zkutečně Bitmapa.+  - Pomocí 1. a 2. zkontrolovat,​ jestli je soubor ​skutečně bitmapa.
  
 Zde je celý zdrojový kód programu: Zde je celý zdrojový kód programu:
Řádek 19: Řádek 19:
   file = fopen("​lenna.bmp",​ "​rb"​);​   file = fopen("​lenna.bmp",​ "​rb"​);​
   if (file == NULL){   if (file == NULL){
-     ​printf("​Zadnej soubor."​);​+     ​printf("​Zadnej soubor.\n");
      ​system("​PAUSE"​);​      ​system("​PAUSE"​);​
      ​return 1;               ​return 1;         
Řádek 26: Řádek 26:
   fread(type, 1, 2, file);   fread(type, 1, 2, file);
   if (type[0]!='​B'​ || type[1]!='​M'​){   if (type[0]!='​B'​ || type[1]!='​M'​){
-     ​printf("​Neni bitmapa."​);​+     ​printf("​Neni bitmapa.\n");
      ​system("​PAUSE"​);​      ​system("​PAUSE"​);​
-     ​return ​1;+     ​return ​2;
   }   }
   ​   ​
Řádek 50: Řádek 50:
   file = fopen("​lenna.bmp",​ "​rb"​); ​    //do proměnné načteme soubor*   file = fopen("​lenna.bmp",​ "​rb"​); ​    //do proměnné načteme soubor*
   if (file == NULL){ ​                  //​kontrola,​ jestli soubor vůbec existuje   if (file == NULL){ ​                  //​kontrola,​ jestli soubor vůbec existuje
-     ​printf("​Zadnej soubor."​);​+     ​printf("​Zadnej soubor.\n");
      ​system("​PAUSE"​);​      ​system("​PAUSE"​);​
      ​return 1;               ​return 1;         
   }  ​   }  ​
   ​   ​
-  fread(type, 1, 2, file); //do proměnné type[] přiřazujeme první dva byty* * +  fread(type, 1, 2, file); //do proměnné type[] přiřazujeme první dva byty** 
-  if (type[0]!='​B'​ || type[1]!='​M'​){ ​  //​zkontrolujeme,​ jestli první dva znaky načtené do typeu sedí +  if (type[0]!='​B'​ || type[1]!='​M'​){ ​  //​zkontrolujeme,​ jestli první dva znaky načtené do type sedí 
-     ​printf("​Neni bitmapa."​);​+     ​printf("​Neni bitmapa.\n");
      ​system("​PAUSE"​);​      ​system("​PAUSE"​);​
      ​return 1;      ​return 1;
Řádek 72: Řádek 72:
 ---- ----
  
-*funkce fopen() funguje následovně:​+* funkce fopen() funguje následovně:​
 fopen("​umístění/​název souboru",​ "​režim"​);​ fopen("​umístění/​název souboru",​ "​režim"​);​
 Režim sděluje programu, jakým způsobem chceme soubor zneužít. Režim sděluje programu, jakým způsobem chceme soubor zneužít.
 3 typy režimů: 3 typy režimů:
 w (write = psát) - přepíše celý soubor w (write = psát) - přepíše celý soubor
-a (?add = přidat?) - píše na konec souboru+a (append ​= přidat) - píše na konec souboru
 r (read = číst) - pouze čte soubor r (read = číst) - pouze čte soubor
 Pokud za písmenko režimu napíšeme b (tedy např.: rb), bude program se souborem pracovat v binárním režimu. Pokud za písmenko režimu napíšeme b (tedy např.: rb), bude program se souborem pracovat v binárním režimu.
  
-* * funcke ​fread() funguje následovně:​ +%%**%% funkce ​fread() funguje následovně:​ 
-fread(ukazatel proměnné - do níž ukládáme, po kolika bytech, kolikrát, proměnná ​našeho krásného ​souboru); +fread(ukazatel proměnné - do níž ukládáme, po kolika bytech, kolikrát, proměnná souboru); 
-Pokud tedy napíšeme fread(type, 1, 2, file); program umístí do každého políčka proměnné **type**po **1** bytu **2**-krát. Načítat bude z pole **file**. +Pokud tedy napíšeme fread(type, 1, 2, file); program umístí do každého políčka proměnné **type** po **1** bytu **2**-krát. Načítat bude z pole **file**. !!!**POZOR**!!! Kdyby type nebylo vícemístné pole, musíme psát před proměnnou & - je to ukazatel. V předchozí situaci bychom mohli napsat i &​type[0], ​<del>museli bychom ale potom spouštět funkci fread() dvakrát</​del>​ - nemuseli, funkce fread dostane tentýž ukazatel, byť tentokrát ne ve významu //​ukazatel ​na pole// ale ve významu //ukazatel na první políčko//. To je ale totéž.
- +
-!!!**POZOR**!!! Kdyby type nebylo vícemístné pole, musíme psát před proměnnou & - je to ukazatel. V předchozí situaci bychom mohli napsat i &​type[0],​ museli bychom ale potom spouštět funkci fread() dvakrát+
- +
-Ok jdu na pivo čus.+
strprg/projekty/bmp.1395262466.txt.gz · Poslední úprava: 19. 03. 2014, 21.54 autor: hexorr