#include // Zkopirovani jednoho souboru po znacich do druheho void kopirovani() { // Soubor ke cteni FILE *fr; fr = fopen("vstup.txt", "r"); // Soubor pro zapis FILE *fw; fw = fopen("vystup.txt", "w"); // Overeni chyb if (fr == NULL) { printf("Chyba vstupniho souboru.\n"); // Uzivatel si precte vystup a stiskne Enter getchar(); return; } if (fw == NULL) { printf("Chyba vystupniho souboru.\n"); // Uzivatel si precte vystup a stiskne Enter getchar(); return; } // Zkopirovat vsechny znaky z jednoho do druheho int c; while (1) // Nacita znaky az do znaku End-of-file { c = getc(fr); if (c == EOF) { break; } putc(c, fw); } // Uzavrit soubory fclose(fr); fclose(fw); // Oznameni uspesneho provedeni printf("Soubor uspesne zkopirovan.\n\n"); } // Vypsani vsech cisel nactenych ze souboru void vypis_cisel() { // Soubor ke cteni FILE *fr; fr = fopen("cisla.txt", "r"); // Overeni chyb if (fr == NULL) { printf("Chyba vstupniho souboru.\n"); // Uzivatel si precte vystup a stiskne Enter getchar(); return; } // Vypsat vsechna cisla nactena ze souboru, kazde na samostatny radek int c; // Funkce fscanf() vraci pocet prectenych hodnot, cili pokud jsme precetli nejake // cislo, bude > 1, tim pozname, ze ho muzeme vypsat (takto opakujeme, dokud to lze) while (fscanf(fr, "%d", &c) > 0) { printf("%d\n", c); // Vypise prave nactene cislo na vystup } // Uzavrit soubor fclose(fr); } // Hlavni program int main() { kopirovani(); vypis_cisel(); // Uzivatel si precte vystup a stiskne Enter getchar(); }