úprava pro přesměrování ze souboru u t2b, v Makefile doplněno vytváření podadresáře bin pro binárky a upraven překlad do tohoto podadresáře.
This commit is contained in:
@@ -1,16 +1,20 @@
|
|||||||
all:
|
all:
|
||||||
gcc -DNDEBUG b2t.c -o b2t
|
mkdir -p bin
|
||||||
gcc -DNDEBUG t2b.c -o t2b
|
gcc -DNDEBUG b2t.c -o bin/b2t
|
||||||
|
gcc -DNDEBUG t2b.c -o bin/t2b
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
gcc b2t.c -o b2t
|
mkdir -p bin
|
||||||
gcc t2b.c -o t2b
|
gcc b2t.c -o bin/b2t
|
||||||
|
gcc t2b.c -o bin/t2b
|
||||||
|
|
||||||
b2t:
|
b2t:
|
||||||
gcc -DNDEBUG b2t.c -o b2t
|
mkdir -p bin
|
||||||
|
gcc -DNDEBUG b2t.c -o bin/b2t
|
||||||
|
|
||||||
t2b:
|
t2b:
|
||||||
gcc -DNDEBUG t2b.c -o t2b
|
mkdir -p bin
|
||||||
|
gcc -DNDEBUG t2b.c -o bin/t2b
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f b2t t2b
|
rm -f bin/b2t bin/t2b
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ Popis funkce T2B
|
|||||||
|
|
||||||
Na standardním vstupu očekává řetězec ASCII znaků.
|
Na standardním vstupu očekává řetězec ASCII znaků.
|
||||||
Na standardní výstup vypisuje 8 binárních zanaků odpovídajících 1 ASCII znaku vstupu.
|
Na standardní výstup vypisuje 8 binárních zanaků odpovídajících 1 ASCII znaku vstupu.
|
||||||
|
Víceřádkový text lze zadat přesměrováním souboru (Příklad: ./t2b < soubor.txt)
|
||||||
|
(proto nelze ruční zadávání ukončit klávesou Enter, ale 2xCTRL+Z na Windows (2xCTRL+D na Linuxu).
|
||||||
|
|
||||||
|
|
||||||
Vstup se zpracovává znak po znaku, délka vstupní zprávy je tedy dána limity standardního vstupu na daném systému.
|
Vstup se zpracovává znak po znaku, délka vstupní zprávy je tedy dána limity standardního vstupu na daném systému.
|
||||||
|
|
||||||
|
|||||||
@@ -17,16 +17,26 @@ int main() {
|
|||||||
|
|
||||||
|
|
||||||
// hláška k zadání vstupu
|
// hláška k zadání vstupu
|
||||||
printf("Zadejte textovy vstup: ");
|
printf("Zadejte textovy vstup (rucni ukonceni pomoci 2xCTRL+Z na Windows (2xCTRL+D na Linuxu)): ");
|
||||||
|
|
||||||
// čtení prvního znaku vstupu
|
// čtení prvního znaku vstupu
|
||||||
in = fgetc(stdin);
|
in = fgetc(stdin);
|
||||||
|
|
||||||
|
// odřádkování po zadání dat, protože už nemáme Enter
|
||||||
|
fputc('\n', stdout);
|
||||||
|
|
||||||
// hláška o výstupu
|
// hláška o výstupu
|
||||||
printf("Zakodovany binarni vystup: ");
|
printf("Zakodovany binarni vystup: ");
|
||||||
|
|
||||||
// cyklus zpracování vstupu
|
// cyklus zpracování vstupu
|
||||||
while(in != EOF && in != '\n') {
|
// zrušena možnost Enter na konci, nešly načítat víceřádkové soubory
|
||||||
|
// technický popis chování:
|
||||||
|
//Using Control-D, you cause the terminal driver to make all the input typed so far on the line available
|
||||||
|
//for reading, even if you've not typed return. If you type, say, abc and then Control-D,
|
||||||
|
//the terminal driver makes the three characters abc available (and Control-D is not seen by the program).
|
||||||
|
//If you type Control-D again, or type return and then Control-D, then there are no more characters available,
|
||||||
|
//so the underlying read() system call returns 0, which the standard I/O system interprets as EOF.
|
||||||
|
while(in != EOF /*&& in != '\n'*/) {
|
||||||
|
|
||||||
// ladicí výpis aktuálního znaku
|
// ladicí výpis aktuálního znaku
|
||||||
debug("%c\n", in);
|
debug("%c\n", in);
|
||||||
|
|||||||
Reference in New Issue
Block a user