๐Ÿ”ฅto_string stoi, stoll, atoi ์ˆซ์ž์ธ์ง€ ๋ฌธ์ž์ธ์ง€

๋ณด๋ฌผ์ฐฝ๊ณ ยท2021๋…„ 8์›” 27์ผ
0

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ฒ•

๋ชฉ๋ก ๋ณด๊ธฐ
21/71

๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ• ๋•Œ๋Š” ๋ฌด์กฐ๊ฑด ํ•ด์•ผํ•œ๋‹ค. ์•ˆํ•˜๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒํ•œ๋‹ค.

์ด์™€๊ฐ™์ด

to_string : int -> string

string word = to_string(int i)

stoi : string -> int

int a = stoi(string word);

stoll : string ์„ long long์œผ๋กœ

long long a = stoll("111111111111")

stoi์˜ ํŠน์ง•.

: ์ธ์ž๋กœ ๋“ค์–ด์˜ค๋Š” string์ด ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๊ณ , ๋ฌธ์ž์ผ ๊ฒฝ์šฐ์—๋Š”
std::invalid_argument ์„ ๋ฐ˜ํ™˜ํ•จ.

  • ๊ฒฐ๋ก  : ๋ฌธ์ž๋งŒ ๋“ค์–ด์˜ฌ ๊ฒƒ ๊ฐ™๋‹ค๋ฉด, ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋จ. ์—๋Ÿฌ ๋ฐœ์ƒํ•จ.

atoi์œผ๋กœ ๋ฌธ์ž์—ด, ์ˆซ์ž ๊ตฌ๋ณ„ํ•˜์ž.

ํ•ต์‹ฌ

string์ด ๋ฌธ์ž์—ด๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€, ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€??

23.07.03 ์ถ”๊ฐ€ํ•จ.

  • atoi ์˜ ์ธ์ž๋Š” const char* ์ด๊ธฐ ๋•Œ๋ฌธ์—, string.c_str() ํ•จ์ˆ˜์™€
    ๊ฐ™์ด ์‚ฌ์šฉํ•ด์•ผ ํ•จ.
  • A์Šคํ‚ค ์ฝ”๋“œ๋ฅผ to int ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•จ.
    : ๋ฌธ์ž์—ด ๋‚ด์šฉ์ด ์ˆซ์ž์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋ณ„ํ•˜๊ณ ,
    ๋ฌธ์ž์ผ ๊ฒฝ์šฐ, 0์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ˆซ์ž์ผ ๊ฒฝ์šฐ, ์•ž์—์„œ ์ˆซ์ž์ธ ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ์„œ ๋ฐ˜ํ™˜ํ•จ.
  • ๋˜ ๋‹ค๋ฅธ ์ถ”๊ฐ€ ์˜ˆ์‹œ

  • ์ธ์ž ํ˜•ํƒœ

    : ํฌ์ธํ„ฐ๋กœ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ string.c_str()๋กœ ๋ณด๋‚ด์•ผ ํ•จ.

  • ๋ฌธ์ž์—ด์ผ ๊ฒฝ์šฐ์—๋Š” 0์„ ๋ฐ˜ํ™˜ํ•จ.

  • ๋ฌธ์ž์—ด์ธ๋ฐ, ์•ž์— ์ˆซ์ž๊ฐ€ ์žˆ๋‹ค๋ฉด, ์•ž์˜ ์ˆซ์ž๋งŒ ๋ฐ˜ํ™˜ํ•จ.

  • string์— ์ˆซ์ž๋งŒ ๋“ค์–ด์˜จ๋‹ค๋ฉด, ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•จ.

  • ๋ฌธ์ œ์ 

    : string์ด 0์ผ ๊ฒฝ์šฐ์— -> ์ˆซ์ž์ธ๋ฐ 0์ด ๋‚˜์™€์•ผ ํ•˜๋Š”๋ฐ?
    atoi๋Š” ๋ฌธ์ž์—ด์ผ ๊ฒฝ์šฐ์— 0์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ...
    ์ด๊ฒŒ ์ˆซ์ž์ธ์ง€, ๋ฌธ์ž์—ด์ธ์ง€ ๋ถ„๊ฐ„์ด ์•ˆ๊ฐ„๋‹ค...

  • ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•.
    : ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ atoi(sting.c_str()) != 0
    ๊ณผ string.compare ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ž.

compareํ•จ์ˆ˜๋Š” ์ธ์ž๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฌธ์ž์—ด๊ณผ ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•จ.

  • ์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•จ.

string.compare ํ•จ์ˆ˜

๊ทธ๋ž˜์„œ ๋ฌด์—‡์„ ์“ธ๊ฑด๋ฐ?

  • string์„ long long์œผ๋กœ ์‚ฌ์šฉ?
    : ์ธ์ž๊ฐ€ ํ†ต์งœ ๋ฌธ์ž์—ด์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ,

    atoll(string.c_str()) ; ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉํ•˜์ž.

  • string์„ int๋กœ ์‚ฌ์šฉ?
    : ์œ„์™€ ๋™์ผํ•œ ๋ฌธ์ œ์— ์˜๊ฑฐํ•ด์„œ

    atoi(string.c_str()) ์‚ฌ์šฉํ•˜์ž.

profile
๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€