ú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:
gcc -DNDEBUG b2t.c -o b2t
gcc -DNDEBUG t2b.c -o t2b
mkdir -p bin
gcc -DNDEBUG b2t.c -o bin/b2t
gcc -DNDEBUG t2b.c -o bin/t2b
debug:
gcc b2t.c -o b2t
gcc t2b.c -o t2b
mkdir -p bin
gcc b2t.c -o bin/b2t
gcc t2b.c -o bin/t2b
b2t:
gcc -DNDEBUG b2t.c -o b2t
mkdir -p bin
gcc -DNDEBUG b2t.c -o bin/b2t
t2b:
gcc -DNDEBUG t2b.c -o t2b
mkdir -p bin
gcc -DNDEBUG t2b.c -o bin/t2b
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í 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.
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
printf("Zadejte textovy vstup: ");
printf("Zadejte textovy vstup (rucni ukonceni pomoci 2xCTRL+Z na Windows (2xCTRL+D na Linuxu)): ");
// čtení prvního znaku vstupu
in = fgetc(stdin);
// odřádkování po zadání dat, protože už nemáme Enter
fputc('\n', stdout);
// hláška o výstupu
printf("Zakodovany binarni vystup: ");
// 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
debug("%c\n", in);