Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Zad 1
- //Napisz program, który sprawdzi, czy z deskryptorem standardowego wejścia (stdin_fileno lub
- wartość 0) jest związany terminal. Jeśli tak, to program powinien wypisać nazwę pliku urządzenia
- tego terminala, oraz kilka jego bieżących ustawień.
- //Kamil Różalski
- //Grupa 14B
- //gcc -Wall -o 1 1.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <termios.h>
- int main()
- {
- int rc;
- rc=isatty(STDIN_FILENO);
- if(rc==0)
- {
- if(errno=EINVAL)
- {
- printf("stdin to nie terminal \n");
- exit(EXIT_SUCCESS);
- }
- else
- {
- perror("isatty");
- exit(EXIT_FAILURE);
- }
- }
- char *name=ttyname(STDIN_FILENO);
- if(name==NULL)
- {
- perror("ttyname");
- exit(EXIT_FAILURE);
- }
- printf("ttyname: %s\n", name);
- struct termios tio;
- rc = tcgetattr(STDIN_FILENO, &tio);
- if(rc == -1)
- {
- perror("tcgetattr");
- exit(EXIT_FAILURE);
- }
- printf("VMIN: %d\n", tio.c_cc[VMIN]);
- printf("VTIME: %d\n", tio.c_cc[VTIME]);
- printf("ECHO: %d\n", tio.c_lflag&ECHO?1:0);
- exit(EXIT_SUCCESS);
- }
- Pytanie 2
- Zakończone
- Nie oceniono
- Nie oznaczony flagąOflaguj pytanie
- Treść pytania
- Zad 2
- //Napisz program, który wyłączy echo, czyli wypisywanie znaków wprowadzonych z klawiatury na
- ekran. Po ponownym uruchomieniu program powinien przywrócić echo.
- //Kamil Różalski
- //Grupa 14B
- //gcc -Wall -o 2 2.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <termios.h>
- int main()
- {
- int rc;
- struct termios tio;
- rc=tcgetattr(STDIN_FILENO, &tio);
- if(rc==-1)
- {
- perror("tcgetattr");
- exit(EXIT_FAILURE);
- }
- printf("Bylo ECHO: %d\n", tio.c_lflag &ECHO?1:0);
- tio.c_lflag ^= ECHO;
- printf("Ustawiam ECHO: %d\n", tio.c_lflag&ECHO?1:0);
- rc = tcsetattr(STDIN_FILENO, TCSANOW, &tio);
- }
- Pytanie 3
- Nie udzielono odpowiedzi
- Nie oceniono
- Nie oznaczony flagąOflaguj pytanie
- Treść pytania
- Zad 3
- Pytanie 4
- Zakończone
- Nie oceniono
- Nie oznaczony flagąOflaguj pytanie
- Treść pytania
- Zad 4
- //Napisz program, po którego uruchomieniu terminal będzie wypisywał wszystkie informacje dużymi
- literami (niezależnie od ustawienia CapsLock). Efekt ten powinno usuwać ponowne uruchomienie
- programu.
- //Kamil Różalski
- //Grupa 14B
- //gcc -Wall -o 4 4.c
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #include <errno.h>
- #include <termios.h>
- int main()
- {
- int rc;
- struct termios tio;
- rc=tcgetattr(STDIN_FILENO, &tio);
- if(rc==-1)
- {
- perror("tcgetattr");
- exit(EXIT_FAILURE);
- }
- printf("Bylo OLCUC: %d\n", tio.c_oflag&OLCUC?1:0);
- tio.c_oflag ^= OLCUC;
- printf("Ustawiam OLCUC: %d\n", tio.c_oflag&OLCUC?1:0);
- rc = tcsetattr(STDIN_FILENO, TCSANOW, &tio);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement