์ฝ์์ ํตํด ๋๋ฒ๊น ์ ํ ๋ ์กฐ๊ธ ๋ ๋ณด๊ธฐ ์ฝ๊ฒ ํํํ๊ธฐ ์ํด UI๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ค. ์ด๋ VT100์ด๋๊ฑธ ์ด์ฉํ์ฌ ์ฝ์์ ์ ์ดํด๋ณผ ๊ฒ์ด๋ค.
https://yoda.wiki/wiki/ANSI_escape_code
ESC ๋ช ๋ น
ESC
1) ํ๋ฉด ํด๋ฆฌ์ด
๋จผ์ ์ฝ์ ํ๋ฉด ์ง์ฐ๊ธฐ๋ฅผ ํด๋ณผ ๊ฒ์ด๋ค.
์์ ๊ฐ์ด printf๋ฅผ ์น๋ฉด ์ฝ์ ํ๋ฉด์ด ๊นจ๋ํด์ง๋ค. 2๋ ์ ์ฒดํ๋ฉด, J๋ ์ง์ฐ๊ธฐ, 27์ ESC ์ด์ค์ผ์ดํ ์ฝ๋์ด๋ค.
์ฌ์ด์ ๋ณ์๋ก ์๋๋ฅผ ๋ฃ์ด๋ณด๋ ค ํ์ผ๋ ์คํจ, ๊นจ์ง๋ค.
printf("%c[41m %c %c[0m", 27, word, 27);
2) ์ขํ ์ก๊ธฐ
์ํ ๊ฐ๋ค์ ์์น๊ฐ ๋ณํ์ง ์๊ณ ์ ์๋ฆฌ์์ ์์ ํ ๊ฐ๋ง ๋ณ๋๋๋ ๋ชจ์ต์ผ๋ก ์์ด์ผ ๋๋ฒ๊น ํ๊ธฐ ํธํ๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด ์ขํ๋ฅผ ๋จผ์ ์ก์ ๋ค์์ ํ๊ธฐํ ๋ด์ฉ์ ์ถ๋ ฅํ๋ฉด ๋๋ค. ์๋์ ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
printf("%c[45;5f", 27);
printf("page_num : %d \r\n", page_num);
printf("%c[46;5f", 27);
printf("list_num : %d \r\n", list_num);
์์์ printf("%c[45;5f", 27);๋ฅผ ๋ณด๊ฒ ๋ค. ์ฌ๊ธฐ์ 45๋ y์ถ ์ขํ๋ฅผ ๋ปํ๋ค ์์์ 45๋ฒ์งธ ์ค์ด๋ผ๋ ๋ป์ด๋ค. 5๋ x์ถ ์ขํ์ด๋ค. ์ผ์ชฝ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก 5์นธ์งธ ์์น๋ฅผ ๋ปํ๋ค.
'LANG > C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
16์ง์(HEX)๋ฅผ ์์์ (Float)์ผ๋ก ๋ณํํด์ฃผ๋ ์ฌ์ดํธ (0) | 2023.10.18 |
---|---|
0D, 0A ๊ฐ ์์คํค ์ฝ๋๋ก? (0) | 2023.03.14 |
๋ฌธ์์ด ๋ณต์ฌ ํจ์์ธ strcpy (0) | 2023.03.07 |
C์ธ์ด ๋ฐฐ์ด(array)์ ์ถ๊ฐ, ์ญ์ , ์ฝ์ ๋ฑ๋ฑ.. (0) | 2022.09.27 |
์ต๊ทผ๋๊ธ