/*
 * Zpracovani textoveho souboru
 */

#include <stdio.h>

char s[256];
FILE *f1, *f2;

char *UpString(char *s){
  char *pom=s;
  while (*pom != '\0') {
    if (*pom >= 'a' && *pom <= 'z' ) *pom -= 'a' - 'A';
    pom++;
  }
  return s;
}

int main(int argc, char *argv[]) {
//
// Uvodni kontroly
//
  if (argc < 3) {
    printf("\nSyntax: %s vstupni_soubor vystupni_soubor\n\n", argv[0]);
    return 1;
  }
  if ( (f1 = fopen(argv[1],"r"))== NULL ) {
    printf("\nCHYBA pri otevirani souboru %s\n\n", argv[1]);
    return 1;
  }
  if ( (f2 = fopen(argv[2],"w"))== NULL ) {
    printf("\nCHYBA pri otevirani souboru %s\n\n", argv[2]);
    return 1;
  }
//
// Hlavni cyklus - zde primitivni          
//
  while ( fgets(s,256,f1)!=NULL ) {
    UpString(s);
    fputs(s,f2);
  }
//
// Zaverecne kontroly
//
  if ( fclose(f1)==EOF ){
    printf("\nCHYBA pri zavirani souboru %s\n\n", argv[1]);
    return 1;
  }
  if ( fclose(f2)==EOF ){
    printf("\nCHYBA pri zavirani souboru %s\n\n", argv[2]);
    return 1;
  }
  return 0;
}