LANG/C ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ
5 ๊ฐœ์˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

0D, 0A ๊ฐ€ ์•„์Šคํ‚ค ์ฝ”๋“œ๋กœ?

์ง‘๋‚˜๊ฐ„ ์‚ฌ์ˆ˜์˜ ์ฝ”๋“œ์— '\n' ์ด๋‚˜ '\r' ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์—ˆ๋‹ค. ํ‰์ƒ์‹œ ์ž˜ ๋™์ž‘ํ•˜๋‹ค๊ฐ€ gui ํ”„๋กœ๊ทธ๋žจ์—์„œ ์„ค์ •์„ ๋ฐ”๊ฟ€๋•Œ ๊ฐ„ํ˜น ์ด์ƒ ๋™์ž‘์„ ํ•˜์˜€๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์˜ EOP์— 0D, 0A ๊ฐ’์„ ํŒจํ‚ท์œผ๋กœ ๋ณด๋ƒˆ์—ˆ๋Š”๋ฐ... HEX Symbol Description 0A LF Line Feed 0D CR Carriage Return ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด ์œ„์™€ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์ด ์žˆ์—ˆ๋‹ค. '/r' ์€ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š” 'ESC', Escape Character๋ผ๊ณ  ํ•œ๋‹ค. Carriage Return ์™€ ๊ฐ™์€ ์˜๋ฏธ๋ผ๊ณ  ํ•œ๋‹ค. '/n' ์€ ์ƒˆ๋กœ์šด ์ค„์ธ New Line ์ด๋ผ๊ณ  ํ•œ๋‹ค. Line Feed์™€ ๊ฐ™์€ ์˜๋ฏธ๋ผ๊ณ  ํ•œ๋‹ค. ์ด๊ฒŒ ๊ณผ๊ฑฐ ํƒ€์ž๊ธฐ์—์„œ ์“ฐ๋˜ ์šฉ์–ด๋“ค๋กœ carriage return์€ ํ•œ์ค„..

VT100์„ ์ด์šฉํ•˜์—ฌ ์ฝ˜์†” ๋งŒ๋“ค๊ธฐ

์ฝ˜์†”์„ ํ†ตํ•ด ๋””๋ฒ„๊น…์„ ํ• ๋•Œ ์กฐ๊ธˆ ๋” ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด UI๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค. ์ด๋•Œ VT100์ด๋ž€๊ฑธ ์ด์šฉํ•˜์—ฌ ์ฝ˜์†”์„ ์ œ์–ดํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. https://yoda.wiki/wiki/ANSI_escape_code ANSI ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ - ์š”๋‹ค์œ„ํ‚ค ANSI ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ ANSI escape code ๋น„๋””์˜ค ํ…์ŠคํŠธ ๋‹จ๋ง๊ธฐ์˜ ๋””์Šคํ”Œ๋ ˆ์ด ์˜ต์…˜์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ• ใ€ŒANSI ์ฝ”๋“œใ€๋Š” ์—ฌ๊ธฐ์„œ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋ฉ๋‹ˆ๋‹ค.๊ทธ ์™ธ์˜ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ๋Š”, ANSI(๋ช…๋ฃŒํ™”)๋ฅผ ์ฐธ์กฐํ•ด ์ฃผ์„ธ yoda.wiki ESC ๋ช…๋ น ESC 1) ํ™”๋ฉด ํด๋ฆฌ์–ด ๋จผ์ € ์ฝ˜์†” ํ™”๋ฉด ์ง€์šฐ๊ธฐ๋ฅผ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ์œ„์™€ ๊ฐ™์ด printf๋ฅผ ์น˜๋ฉด ์ฝ˜์†” ํ™”๋ฉด์ด ๊นจ๋—ํ•ด์ง„๋‹ค. 2๋Š” ์ „์ฒดํ™”๋ฉด, J๋Š” ์ง€์šฐ๊ธฐ, 27์€ ESC ์ด์Šค์ผ€์ดํ”„ ์ฝ”๋“œ์ด๋‹ค. ์‚ฌ์ด์— ๋ณ€์ˆ˜๋กœ ์›Œ๋“œ๋ฅผ ๋„ฃ์–ด๋ณด๋ ค ..