Přesměrování

Ostatní jazyky Petr Lite Konzola Přesměrování

Velmi důležitou vlastností konzolových programů je možnost přesměrování vstupů a výstupů. Výstup z jednoho programu lze přesměrovat do souboru nebo jako vstup do jiného programu. K přesměrování výstupu z programu do souboru slouží znak >, který se uvede za jménem programu. Za znakem přesměrování následuje jméno výstupního souboru. Podobně k přesměrování vstupu programu ze souboru se použije znak < uvedený za jménem programu, následuje jméno vstupního souboru. K přesměrování výstupu z jednoho programu do jiného programu slouží znak | uvedený mezi jmény programů. V tomto případě se vytvoří tzv. roura, neboli pipe. Je to jakýsi datový kanál mezi programy.

Vyzkoušíme si to na drobné utilitce, která bude dělat to, že zamění pořadí znaků v textu (text bude pozpátku). Založte nový program s názvem Reverze. Připravte v něm textové proměnné text a text 2 a číselnou proměnnou pozice. V programu načtěte vstup textu z konzoly do proměnné text. Poté v cyklu procházejte jednotlivé znaky vstupního textu a přidávejte je k textu v proměnné text 2, ovšem v opačném pořadí než probíhá čtení. Na závěr pošlete text 2 na konzolu. Výsledek by mohl vypadat takto:

Nyní program vyzkoušíme. Nejdříve program spusťe samostatně zadáním příkazu Reverze v konzole. Žádná výzva se nezobrazí, uvidíte použe blikající kurzor. Napište nějaký text a stiskněte Enter. Text by se měl objevit na dalším řádku pozpátku.

Dále si vyzkoušíme přesměrování výstupu z programu do souboru. Zadejte příkaz "Reverze > a.txt" (bez uvozovek). Opět se zobrazí blikající kurzor a opět zapište text a stiskněte Enter. Žádný výstup z programu se nezobrazí, neboť se uložil do souboru a.txt. Obsah souboru můžete vypsat příkazem "type a.txt", měli byste opět vidět zadaný text pozpátku.

Nyní si zkusíme přesměrování vstupu do programu ze souboru. Použijeme obsah souboru a.txt. Zadejte příkaz "Reverze < a.txt", měl by se zobrazit dříve zadaný text, tentokrát ale ve správném směru, protože došlo k otočení textu dvakrát.

Nakonec vyzkoušíme zřetězení vstupů a výstupů více programů. Prvním příkazem bude příkaz pro výpis obsahu souboru, druhým náš program. Zadejte příkaz "type a.txt | Reverze". Výstupem by měl být opět text správně otočený. Tímto způsobem můžeme zřetězovat i více programů najednou, například můžeme uvést více příkazů Reverze, text se převrátí vícekrát.

Poslední oblastí, kterou se budeme zabývat, jsou vstupní parametry programu a návratový kód. Bez vstupních parametrů by konzolové programy nebyly prakticky použitelné. Pomocí parametrů zadáváme programu přepínače a nastavení určující, jak se má program chovat a co má dělat. Parametry uvádíme za jménem programu a zpravidla je oddělujeme od jména programu znakem lomítka /, ale tento oddělovač není povinný pokud to program nevyžaduje.

Na zkoušku doplníme poslední program tak, aby po zadání znaku "u" jako parametr převedl text na velká písmena namísto obracení textu. Ke zjištění zadaných parametrů slouží prvek parametr programu, který naleznete ve skupině řízení programu - rozšíření. Prvek vrací jeden parametr se zadaným indexem, kde index 0 je jméno programu tak jak je zadal uživatel. Za jednotlivé parametry se přitom považují části oddělené mezerami. Je-li prvním parametrem písmeno "u", provedeme konverzi na velká písmena. V jiných případech provedeme reverzi textu - např. není-li zadán žádný parametr (v tom případě je vrácen prázdný text).


 

Stáhnout

Staženo 198x (129.24 kB)
Aplikace je včetně zdrojových kódů v jazyce Petr Lite (jsou obsaženy v EXE souboru, který lze v programu přímo otevřít)

 

  Aktivity (1)

Článek pro vás napsal Panda38
Avatar
Programátor C++, WinAPI, ASM.

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 


Miniatura
Předchozí článek
Konzole
Miniatura
Všechny články v sekci
Konzole

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!