์คํธ๋ฆผ(stream)
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ ์ผ๋ จ์ ๋ฐ์ดํฐ ์์ _์ํค๋ฐฑ๊ณผ
์ผ๋ฐ์ ์ผ๋ก, ๋ฐ์ดํฐ, ํจํท, ๋นํธ ๋ฑ์ ์ผ๋ จ์ ์ฐ์์ฑ์ ๊ฐ๋ ํ๋ฆ _์ ๋ณดํต์ ๊ธฐ์ ์ฉ์ดํด์ค
์์๋๋ก ๋ฌผ ํ๋ฅด๋ฏ์ด ์ ์ก๋๋ ๋ฐ์ดํฐ ์ด _์ ๋ณดํต์ ๊ธฐ์ ์ฉ์ดํด์ค
์๋ ์คํธ๋ฆผ์ ๋ํ ์ ์์ด๊ณ ์คํธ๋ฆผ ๋ฐ์ดํฐ์ ์์๋ก๋ ์์ฑ, ์์, ํ ์คํธ๋ฅผ ๋ค ์ ์๋ค.
ํ์ค ์คํธ๋ฆผ(standard streams)
์ปดํจํฐ ํ๋ก๊ทธ๋จ๊ณผ ๊ทธ ํ๊ฒฝ(ํค๋ณด๋๋ ๋ชจ๋ํฐ์ ๊ฐ์ ์ฅ์น๋ค) ์ฌ์ด์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ๋ ์ ์ถ๋ ฅ ํต๋ก
์ผ๋ฐ์ ์ผ๋ก ์ ๋์ค(๋๋ ์ ๋์ค ๊ณ์ด OS)์์ ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ์คํ ์ ์ธ ๊ฐ์ ์คํธ๋ฆผ์ด ์๋์ผ๋ก ์ด๋ฆฐ๋ค. ์ด๋ฅผ ํ์ค ์คํธ๋ฆผ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ณดํต ์ ์ถ๋ ฅ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ํค๋ณด๋์ ๋ชจ๋ํฐ๋ฅผ ํตํด ์ผ์ด๋๋๋ฐ, ํ์ค ์คํธ๋ฆผ์ ์ด๊ฒ์ ์ถ์ํํ ๊ฒ์ด๋ค. ์ธ ๊ฐ์ ํ์ค ์คํธ๋ฆผ์ ์๋์ ๊ฐ๋ค.
STDIN(Standard Input #0): ์ ๋ ฅ์ ์ํ ์คํธ๋ฆผ
STDOUT(Standard Output #1): ์ถ๋ ฅ์ ์ํ ์คํธ๋ฆผ
STDERR(Standard Error #2): ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํ ์คํธ๋ฆผ
ํ์ค C ์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ <stdio.h> ํค๋์์ stdin, stdout, stderr๋ก ์ ์ํ๋ค.
์ถ์ฒ: ์ํค๋ฐฑ๊ณผ
C์์ ํ์ค์คํธ๋ฆผ ์ฌ์ฉ ์์
#include <stdio.h> // C++ ์ ๊ฒฝ์ฐ <cstdio>
char* fgets(char* str, int num, FILE* stream);
์์ fgets( ) ํจ์์ฒ๋ผ ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ํ์ค ์คํธ๋ฆผ์ ์ง์ ํด์ค ์ ์๋ ํจ์๋ค์ด ์๋ค.
์์๋ก ๊ฐ์ ธ์จ fgets( )ํจ์๋ ํค๋ณด๋๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์ ์ ์๋ ํจ์์ด๊ณ ๋ฌธ์์ด์ ์ ์ฅํ ํฌ์ธํฐ(๋ฒํผ)์ ์ต๋ ๊ธธ์ด, ์ ๋ ฅ ์คํธ๋ฆผ์ ์ง์ ํ ์ ์๋ค.
์ค์ ๋ก ์ฌ์ฉํ ๋๋ ์๋์ฒ๋ผ ์ฌ์ฉํ๋ค.
fgets(buf, sizeof(buf), stdin); //stdin์ <stdio.h>ํค๋ include ํ๋ฉด ์ฌ์ฉ๊ฐ๋ฅ
'๐ etc.' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2023๋ 7์ฐจ Softeer ์ ๊ธฐ ์ญ๋ ์ง๋จ ์ทจ๋ ํ๊ธฐ (์๋์ฐจ ํ ์คํธ / ์์๋๋ก ๋ฐฉ๋ฌธํ๊ธฐ) (0) | 2023.09.01 |
---|---|
[python] python ๋ค์ด๊ทธ๋ ์ด๋ / ๋ฒ์ ๋ณ๊ฒฝ (0) | 2021.07.01 |
[Linux] ๋ฆฌ๋ ์ค ํ์ผ ์์คํ ๊ตฌ์กฐ / ๋ฃจํธ ๋๋ ํ ๋ฆฌ, ํ ๋๋ ํ ๋ฆฌ (0) | 2021.04.06 |
[Linux] ๋ฆฌ๋ ์ค ๋ช ๋ น์ด ๋ชจ์ (0) | 2021.04.05 |
AirSim Python API ์ฌ์ฉ (2) | 2021.03.16 |