Search
strlen
strcmp
strncmp
my_strlen
cat
cat-basic
Příklad výstup cat-basic
echo "Hello world" | cat-basic
Hello world
cat-skip
Příklady výstupu cat-skip
echo "Hello world" | cat-skip
world
\n
\t
Příklad výstupu cat-words
echo "Hello world and hello again " | cat-words
Hello world and hello again
Příklad výstupu cat-words-len
echo "Hello world and hello again " | cat-words-len
Hello 5 world 5 and 3 <-- hello 5 again 5
Příklad výstupu programu cap
echo "Hello world" | cap
===== hELLO WORLD
tr-simple
Příklad výstupu tr-simple
echo "Hello world" | tr-simple 'Hl' 'Xk'
Xekko workd
echo "Hello world" | tr-simple 'dweji' '01234'
H2llo 1orl0
Příklad výstupu
echo "Hello world and hello again " | cat-words | cap
hELLO WORLD AND HELLO AGAIN
Bool test_alphabet(char *str);
assert()
assert.h
printf(“%s”, words[i])
_Bool fill_words(char *alphabet, size_t n, char **words);
#define WORDS_N ('Z' - 'A' + 1)
is_upper()
is_lower()
to_upper()
$ echo "I like PRP" | ./fel_alphabet Impulse Logic Impulse Kernel Electron Program Resistor Program
Anglická FEL abeceda
Česká FEL abeceda
Definice abecedy
#define FEL_ALPHABET_CZ "AlgoritmusBitCyklyDiodyElektronFiltrGeneratorHardwareImpulsJednotkaKompilátorLogikaMikroprocesorNodeOscilloscopeProgramQubitRezistorSignálTransistorUzávěrVýpočetWattXenonYagiZenerka" #define FEL_ALPHABET_EN "AlgorithmBitCircuitDiodeElectronFilterGeneratorHardwareImpulseJunctionKernelLogicMicroprocessorNodeOscilloscopeProgramQubitResistorSignalTransistorUnitVoltageWattXenonYagiZener"
A. Pole znaků
char alphabet[] = FEL_ALPHABET_EN;
B. Ukazatel na (posloupnost) znak(ů)
char *alphabet = FEL_ALPHABET_EN;
char* words[WORDS_N]
stdin
stdout
stderr
Příklad hlavní funkce main()
int main(int argc, char* argv[], char **env) { int ret = EXIT_SUCCESS; char alphabet[] = FEL_ALPHABET_EN; // proč nemůžeme použít char * alphabet? char* words[WORDS_N] = {NULL}; // WORDS_N assert(test_alphabet(alphabet)); if (!fill_words(alphabet, WORDS_N, words)) { fprintf(stderr, "Fill words failed!\n"); return EXIT_FAILURE; } int r; _Bool prev = false; while ((r = getchar()) != EOF) { if (is_lower(r) || is_upper(r)) { char c = to_upper(r); prev && putchar(' '); // resolve the space printf("%c%s", c, words[c - 'A']); // space prev = true; } else { prev = false; putchar(r); } } return ret; }
prev
LANG=cs_CZ.UTF-8
FILE *file = fopen(“soubor.txt”, “r”);
getc(file)
$ echo "I like PRP" | LANG=cs_CZ.UTF-8 ./fel_alphabet Impuls Logika Impuls Kompilátor Elektron Program Rezistor Program