ú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:
2026-01-28 16:28:30 +01:00
parent b3c9758f3f
commit dc2cafa317
5 changed files with 26 additions and 9 deletions
+11 -7
View File
@@ -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
+3
View File
@@ -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.
Regular → Executable
View File
Regular → Executable
BIN
View File
Binary file not shown.
+12 -2
View File
@@ -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);