Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Presmerovanie

Veľmi dôležitou vlastnosťou konzolových programov je možnosť presmerovania vstupov a výstupov. Výstup z jedného programu možno presmerovať do súboru alebo ako vstup do iného programu. K presmerovanie výstupu z programu do súboru slúži znak>, ktorý sa uvedie za menom programu. Za znakom presmerovanie nasleduje meno výstupného súboru. Podobne k presmerovanie vstupu programu zo súboru sa použije znak <uvedený za menom programu, nasleduje meno vstupného súboru. K presmerovanie výstupu z jedného programu do iného programu slúži znak | uvedený medzi menami programov. V tomto prípade sa vytvorí tzv. Rúra, čiže pipe. Je to akýsi dátový kanál medzi programami.

Vyskúšame si to na drobné utilitce, ktorá bude robiť to, že zamení poradie znakov v texte (text bude pospiatky). Založte nový program s názvom Reverzia. Pripravte v ňom textové premenné text a text 2 a číselnou premennou pozície. V programe načítajte vstup textu z konzoly do premennej text. Potom v cykle prechádzajte jednotlivé znaky vstupného textu a pridávajte je k textu v premennej text 2, avšak v opačnom poradí ako prebieha čítania. Na záver pošlite text 2 na konzolu. Výsledok by mohol vyzerať takto:

Konzola

Teraz program vyskúšame. Najskôr program spustite samostatne zadaním príkazu Reverzia v konzole. Žiadna výzva sa nezobrazí, uvidíte iba blikajúci kurzor. Napíšte nejaký text a stlačte Enter. Text by sa mal objaviť na ďalšom riadku pospiatky.

Ďalej si vyskúšame presmerovanie výstupu z programu do súboru. Zadajte príkaz "Reverzia> a.txt" (bez úvodzoviek). Opäť sa zobrazí blikajúci kurzor a opäť zapíšte text a stlačte Enter. Žiadny výstup z programu sa nezobrazí, pretože sa uložil do súboru a.txt. Obsah súboru môžete vypísať príkazom "type a.txt", mali by ste opäť vidieť zadaný text pospiatky.

Teraz si skúsime presmerovanie vstupu do programu zo súboru. Použijeme obsah súboru a.txt. Zadajte príkaz "Reverzia <a.txt", mal by sa zobraziť predtým zadaný text, tentoraz ale v správnom smere, pretože došlo k otočeniu textu dvakrát.

Nakoniec vyskúšame zreťazenie vstupov a výstupov viac programov. Prvým príkazom bude príkaz pre výpis obsahu súboru, druhým náš program. Zadajte príkaz "type a.txt | Reverzia". Výstupom by mal byť opäť text správne otočený. Týmto spôsobom môžeme zreťazovať aj viac programov naraz, napríklad môžeme uviesť viac príkazov Reverzia, text sa prevráti viackrát.

Konzola

Posledný oblasťou, ktorou sa budeme zaoberať, sú vstupné parametre programu a návratový kód. Bez vstupných parametrov by konzolové programy neboli prakticky použiteľné. Pomocou parametrov zadávame programu prepínače a nastavenia určujúce, ako sa má program správať a čo má robiť. Parametre uvádzame za menom programu a spravidla je oddeľujeme od mena programu znakom lomky /, ale tento oddeľovač nie je povinný ak to program nevyžaduje.

Na skúšku doplníme posledný program tak, aby po zadaní znaku "u" ako parameter previedol text na veľké písmená namiesto obracanie textu. Na zistenie zadaných parametrov slúži prvok parameter programu, ktorý nájdete v skupine riadenia programu - rozšírenie. Prvok vracia jeden parameter sa zadaným indexom, kde index 0 je meno programu tak ako je zadal používateľ. Za jednotlivé parametre sa pritom považujú časti oddelené medzerami. Ak je prvým parametrom písmeno "u", vykonáme konverziu na veľké písmená. V iných prípadoch vykonáme reverziu textu - napr. Ak nie je parameter zadaný (v tom prípade je vrátený prázdny text).

Konzola
Konzola

 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 201x (129.24 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Petr Lite (sú obsiahnuté v EXE súbore, ktorý možno v programe priamo otvoriť)

 

Všetky články v sekcii
Konzola
Článok pre vás napísal Panda38
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Programátor C++, WinAPI, ASM.
Aktivity