// program na testovani algoritmu xxx
// vstup je ze souboru
// vystup je na konzolu
#include <stdio.h>
int main(int argc,char *argv[] )
{
int i=0, znak;
if (argc != 2)
// otestuje se pocet vstupnich parametru
// - volani programu s jednim parametrem =
// nazvem souboru
{ // neni-li správný pocet parametru, koncime
fprintf(stderr,"Spatny pocet parametru pri volani programu");
return 1;
}
FILE *fr;
fr = fopen(
argv[1], "rt");
// (zkusíme) otevrit soubor pro cteni
// v textovem rezimu
if (fr == NULL)
{
// pokud se otevreni nezdarilo, končíme
// tiskne dodaný text a interní text
// aktuální chyby
perror("Nepodarilo se otevreni souboru");
return 2;
}
while((znak = fgetc(fr)) != EOF)
{
// dokud neni konec souboru nebo chyba
// cteni, zpracovavame nacteny znak
}
if(feof(fr))
{
//cteni souboru bylo ukonceno na konci souboru
}
else {
if(ferror(fr))
{
perror(
"chyba pri cteni souboru ");
if(fclose(fr) == EOF)
// otevreny soubor zavreme
{
perror(
"nepodarilo se zavrit soubor po chybe ");
return 5;
}
return 3;
}
fprintf(stderr,
"Necekany stav - cteni souboru neukonceno ani koncem souboru ani chybou (?)");
return 4;
}
if(fclose(fr) == EOF)
// otevreny soubor zavreme
{
perror(
"nepodarilo se zavrit soubor");
return 6;
}
return 0; // program ukoncen v poradku
}