diff --git a/main.c b/main.c index 3c53526..5adc78d 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,5 @@ #include "stringyreloaded.h" int main(int argc, char *argv[]) { - return redirector(); + return input(argc, argv); } \ No newline at end of file diff --git a/stringyreloaded.c b/stringyreloaded.c index 35792cc..209c936 100644 --- a/stringyreloaded.c +++ b/stringyreloaded.c @@ -206,12 +206,161 @@ int redirector() { while ((c = getchar()) != '*') { putc(c, fw); } - if(fw != stdout) { + if (fw != stdout) { printf("Pozrite sa do vystup.txt"); - if(fclose(fw) == EOF) { + if (fclose(fw) == EOF) { printf("Súbor vystup.txt sa nepodarilo zatvoriť."); return 1; } } return 0; +} + +int cislovanie2() { + FILE *fp; + char buf[25]; + int index; + fp = fopen("s.txt", "w"); + if (fp == NULL) { + printf("Chyba pri otváraní súboru"); + return 1; + } + strcpy(buf, "Toto je riadok."); + for (index = 1; index <= 10; index++) { + fprintf(fp, "%s Číslo riadku %d\n", buf, index); + } + if (fclose(fp) == EOF) { + printf("Chyba pri zatváraní súboru."); + } + return 0; +} + +int appendovanie() { + FILE *fp; + char buf[35]; + int index, count; + fp = fopen("s.txt", "a"); + if (fp == NULL) { + printf("Chyba pri otváraní súboru"); + return 1; + } + strcpy(buf, "Toto je riadok."); + for (count = 1; count <= 5; count++) { + for (index = 0; buf[index]; index++) { + putc(buf[index], fp); + putc('\n', fp); + } + } + if (fclose(fp) == EOF) { + printf("Chyba pri zatváraní súboru."); + } + return 0; +} + +int citanieSuboru() { + FILE *fp; + char c; + fp = fopen("s.txt", "r"); + if (fp == NULL) { + printf("Chyba pri otváraní súboru"); + return 1; + } + do { + c = getc(fp); + putchar(c); + } while (c != EOF); + if (fclose(fp) == EOF) { + printf("Chyba pri zatváraní súboru."); + } + + return 0; +} + +int citanieSuboru2() { + FILE *fp; + char c; + int pocet = 1; + fp = fopen("s.txt", "r"); + if (fp == NULL) { + printf("Chyba pri otváraní súboru"); + return 1; + } + printf("\n%d: ", pocet); + do { + c = getc(fp); + if (c == '\n') { + if (feof(fp) == 0) { + c = getc(fp); + printf("\n%d: ", ++pocet); + ungetc(c, fp); + } + } else { + putchar(c); + } + } while (c != EOF); + if (fclose(fp) == EOF) { + printf("Chyba pri zatváraní súboru."); + } + + return 0; +} + +int poSlovach() { + FILE *fp; + char slovo[100]; + char c; + fp = fopen("s.txt", "r"); + if (fp == NULL) { + printf("Nepodarilo sa otvoriť s.txt"); + return 1; + } + do { + c = fscanf(fp, "%s", slovo); + printf("%s\n", slovo); + } while (c != EOF); + fclose(fp); + return 0; +} + +int poRiadkoch() { + FILE *fp; + char slovo[100]; + char *c; + fp = fopen("s.txt", "r"); + if (fp == NULL) { + printf("Nepodarilo sa otvoriť s.txt"); + return 1; + } + do { + c = fgets(slovo, 100, fp); + printf("%s\n", slovo); + } while (c != NULL); + fclose(fp); + return 0; +} + +int input(int argc, char *argv[]) { + FILE *fp; + char slovo[100]; + char *c; + if (argc == 1) { + printf("Použitie: %s filename\n", argv[0]); + } else { + if (argc > 2) { + printf("Spracuje sa len 1. parameter"); + } + fp = fopen(argv[1], "r"); + if (fp == NULL) { + printf("Nepodarilo sa otvoriť %s", argv[1]); + return 1; + } + do { + c = fgets(slovo, 100, fp); + if (c != NULL) { + printf("%s\n", slovo); + } + } while (c != NULL); + fclose(fp); + } + return 0; } \ No newline at end of file diff --git a/stringyreloaded.h b/stringyreloaded.h index 8aa5502..1cefd81 100644 --- a/stringyreloaded.h +++ b/stringyreloaded.h @@ -5,4 +5,11 @@ int pridavanie(); int cislovanie(); int naVelke(); int kopirovanie(int argc, char *argv[]); -int redirector(); \ No newline at end of file +int redirector(); +int cislovanie2(); +int appendovanie(); +int citanieSuboru(); +int citanieSuboru2(); +int poSlovach(); +int poRiadkoch(); +int input(int argc, char *argv[]); \ No newline at end of file