์ด์๊ฐ์ด
string word = to_string(int i)
int a = stoi(string word);
long long a = stoll("111111111111")
: ์ธ์๋ก ๋ค์ด์ค๋ string์ด ์ซ์๊ฐ ์๋๊ณ , ๋ฌธ์์ผ ๊ฒฝ์ฐ์๋
std::invalid_argument ์ ๋ฐํํจ.
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์ long long์ผ๋ก ์ฌ์ฉ?
: ์ธ์๊ฐ ํต์ง ๋ฌธ์์ด์ผ ์ ์์ผ๋ฏ๋ก,
atoll(string.c_str()) ; ์ด๋ ๊ฒ ์ฌ์ฉํ์.
string์ int๋ก ์ฌ์ฉ?
: ์์ ๋์ผํ ๋ฌธ์ ์ ์๊ฑฐํด์
atoi(string.c_str()) ์ฌ์ฉํ์.