Skip to content

๐ŸŸฅ I, O (์ž…์ถœ๋ ฅ)

sery270 edited this page Aug 24, 2020 · 2 revisions

๐ŸŽ์ž…๋ ฅ ๊ฐ’์˜ ๊ฐœ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์—†์„ ๋•Œ, ์ž…๋ ฅ ๋ฐ›๊ธฐ โ†’ scanf() ๋ฆฌํ„ด ๊ฐ’์„ ํ™œ์šฉ !

scanf

์ž…๋ ฅ์ด ์„ฑ๊ณต์ ์ด์˜€๋‹ค๋ฉด ํ•จ์ˆ˜๋Š” ์„ฑ๊ณต์ ์œผ๋กœ ์ฝ์–ด๋“ค์ธ ์ธ์ž์˜ ๊ฐœ์ˆ˜ ๋ฆฌํ„ด

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ด ๋ฆฌํ„ด๊ฐ’์€ ํ˜•์‹ ๋ฌธ์ž์—ด์—์„œ ์ฝ์–ด๋“ค์ด๊ณ ์ž ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฐœ์ˆ˜์™€ ๋™์ผํ•˜์ง€๋งŒ ๊ฐ€๋”์‹ ์ ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์‹ฌ์ง€์–ด ์ฝ๊ธฐ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด 0 ๋ฆฌํ„ด

์„ฑ๊ณต์ ์œผ๋กœ ์ฝ์–ด๋ณด๊ธฐ๋„ ์ „์— ์ฝ๊ธฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์ž…๋ ฅ์˜ ๋์— ๋„๋‹ฌํ•˜๋ฉดย EOF(-1) ๋ฆฌํ„ด

while(scanf("%d %d", &a, &b) != EOF) //์ž…๋ ฅ ๋์—์„œ while๋ฌธ ๋น ์ ธ๋‚˜์˜ด

๐ŸŽํ•œ ์ค„ ์ž…๋ ฅ ๋ฐ›๊ธฐ (์•ž๋’ค๋งŒ ๊ณต๋ฐฑ ์ฒ˜๋ฆฌ)

scanf("%[^\n]\n",s)

ํ˜•์‹์„ ์ง€์ •ํ•˜์—ฌ ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ, ์ค„ ๋ฐ”๊ฟˆ ์ž์ฒด๋ฅผ ํ˜•์‹์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ๋ฐ›์œผ๋ฉด ์ค„ ๋‹จ์œ„๋กœ ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ ํ˜•์‹์„ ์ง€์ •ํ•˜์—ฌ ์ž…๋ ฅ ๋ฐ›์œผ๋ฉด, ๋ฌธ์ž ์‚ฌ์ด์˜ ๊ณต๋ฐฑ์€ ์ž…๋ ฅ๋˜์ง€๋งŒ,

๋ฌธ์ž ์•ž๋’ค์˜ ๊ณต๋ฐฑ์ด๋‚˜ ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž ์ž์ฒด๋Š” ์ž…๋ ฅ ๋ฐ›์ง€ ์•Š๊ฒŒ ๋˜๋ฏ€๋กœ,

์ž…๋ ฅ ๋ฐ›์€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋ฉด, ์›๋ณธ๊ณผ ๋‹ค๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ ๊ณต๋ฐฑ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

//์ค„๋ฐ”๊ฟˆ์„ ์ž…๋ ฅ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.
//๊ฐ ์ค„์˜ ์•ž ๋’ค ๊ณต๋ฐฑ & ๋นˆ ์ค„์€ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.
#include <cstdio>
char s[111];
int main() {
    while (scanf("%[^\n]\n",s)==1) {
        printf("%s\n",s);
				//์ถœ๋ ฅํ•  ๋•Œ ์ค„๋ฐ”๊ฟˆ์„ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค. -> ์ž…๋ ฅ ๋ฐ›๊ณ  ๋ฐ”๋กœ ์ถœ๋ ฅํ•ด์•ผํ•œ๋‹ค.
    }
    return 0;
}

๐ŸŽํ•œ ์ค„ ์ž…๋ ฅ ๋ฐ›๊ธฐ2 (๊ณต๋ฐฑ ์ฒ˜๋ฆฌ x, ์ž…๋ ฅ ๊ทธ๋Œ€๋กœ)

c = getchar()

๋ฌธ์ž ํ•˜๋‚˜ํ•˜๋‚˜ ์ž…๋ ฅ ๋ฐ›์œผ๋ฏ€๋กœ, ์›๋ณธ์˜ ์ค„ ๋ฐ”๊ฟˆ ๋ฌธ์ž๊นŒ์ง€ ์ž…๋ ฅ ๋ฐ›๊ฒŒ ๋œ๋‹ค.

์ž…๋ ฅ ๋ฐ›์€ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๋‹ˆ, ์›๋ณธ๊ณผ ๋˜‘๊ฐ™๋‹ค. (*ํ•œ๊ธ€ ์ œ์™ธ)

//ํ•œ ๊ธ€์ž์”ฉ ์ž…๋ ฅ๋ฐ›๊ณ  ์ถœ๋ ฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—
//์ค„๋ฐ”๊ฟˆ์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.
//๊ฐ ์ค„์˜ ์•ž ๋’ค ๊ณต๋ฐฑ & ๋นˆ ์ค„๊นŒ์ง€ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
#include <cstdio>
int main() {
    char c;
    while ((c = getchar()) && c != EOF) {
        printf("%c",c);
				//์ค„๋ฐ”๊ฟˆ๋„ c๋กœ ์ž…๋ ฅ๋ฐ›์•„ ์ถœ๋ ฅ๋œ๋‹ค. 
    }
    return 0;
}

*ํ•œ๊ธ€์€ ์ž์Œ ๋ชจ์Œ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ์ง„๋‹ค.. ์ด๊ฑฐ ์–ด๋–ป๊ฒŒ ํ•˜์ง€?

์ผ๋‹จ char๋Š” 8bit (1byte)์ด๋‹ค.

์ € ๋”ฐ์œ„๋กœ ์ชผ๊ฐœ์ง„๋‹ค๋Š”๊ฑด ๋ชจ์Œ ์ž์Œ ๋‹จ์œ„๊ฐ€ 1byte๋ผ๋Š” ์˜๋ฏธ๊ฒ ์ง€ ?

๊ทผ๋ฐ ํ•œ๊ธ€์€ ๋ฐ›์นจ๋„ ์žˆ๊ณ , ์Œ์ž์Œ ์Œ๋ชจ์Œ๋„ ์žˆ๋Š”๋ฐ,, ์–ด๋–ป๊ฒŒ ํ•œ๋‹ด? ใ…œใ…กใ…œ

๋ฐ•์„ธ๋ž€

ใ…‚ใ…ใ„ฑใ……ใ…”ใ„นใ…ใ„ด

Clone this wiki locally