/* Program couvej v1.0 19. Vypiçte na obrazovku a z roveå do nov‚ho souboru obsah textov‚ho souboru tak, §e jednotliv  slova budou ps na pozp tku. vol n¡: couvej zdroj_soubor novì_soubor */ #include int main(int argc, char *argv[]) { char slovo[256]; // slovo - maximalne 256 znaku int z; // jeden prazdny znak int l, i; // jeden prazdny znak FILE *in, *out; // vstupni a vystupni soubor if (argc != 3) { // kontrola poctu argumentu printf("Program spuste takto:\n\tcouvej.exe [vstupni soubor][vystupni soubor]\n"); return 0; } if ((in = fopen(argv[1], "rt")) == NULL) { // kontrola otevreni souboru printf("Nepodarilo se otevrit vstupni soubor: %s\n", argv[1]); return 0; } if ((out = fopen(argv[2], "wt")) == NULL) { // kontrola otevreni souboru printf("Nepodarilo se otevrit vystupni soubor: %s\n", argv[2]); return 0; } while (1) { // nekonecna smycka if (fscanf(in, "%255s", slovo) == EOF) break; // nacti slovo a pripadne ukonci cyklus, jsi-li na konci souboru z = fgetc(in); // prazdny znak - konec souboru se hlida ve scanf if (z == EOF) z = '\n'; // konec souboru => posledni znak netiskni, ale slovo ano l = strlen(slovo); for (i = 0; i < l; i ++) { // projdi vsechny znaky ve slove putchar(slovo[l-i-1]); // po zpatku vypis na obrazovku a ... fputc(slovo[l-i-1], out); // ... do souboru } putchar(z); // vypis mezeru nebo konec radku, podle toho, co tam bylo fputc(z, out); // ... to stejne do souboru } fclose(in); fclose(out); // uzavri oba soubory return 1; }