1. string ¶
- ์๋ชป์ฐ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋์์ ์ฃผ๋ฒ์ด ๋๋ char* ๋์ ์ผ๋ก ์ธ์ ์๋ค.
- ๊ทธ๋ฅ "์ธ์ ์ฒ์ฌ" ๋ผ๋ ๋ฌธ์์ด์ ๋ง๋ค๊ณ ์ถ์ผ๋ฉด
string a("์ธ์ ์ฒ์ฌ")
์ด๋ฌ๋ฉด ๋๋ค.
- ๋ฌธ์์ด ๋ณต์ฌ
string b = a
- ๋ฌธ์์ด ๊ธธ์ด๋ b.size() ๋ก ์์ ์๋ค.
- a๋ฌธ์์ด์ 4-7๋ฒ์งธ๊น์ง์ ๋ฌธ์๋ฅผ ๋ฌธ์์ด๋ก ๋ผ์ด๋ด๊ธฐ
string name("1234567890"); cout << name<<endl; string c(name.begin() + 3, name.begin() + 7) ; cout << c;
- new - char* ๋ก ๋ง๋ ๋ฌธ์์ด์ ํ๋ก๊ทธ๋จ ์ฌ์ฉํ delete ํด์ค์ผ ๋์ง๋ง, string์ ์๋ฉธ์์์ ์์์ ํด์ค๋ค. ์์ฐ์ฑ ์ฆ๊ฐ!
- STL์ ์ด์ฉ ๋ฐฉ๋ฒ์ general ์ ์ถ๊ตฌํ๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ๋ฒ์ด ๋น์ทํ๋ค.
2.1. ๋ฌธ์์ด ์ ๋ ฅ ๋ฐ๊ธฐ ¶
- string ํด๋์ค๋ผ๊ณ ํด์ ๊ณต๋ฐฑ์ ๋ฌด์ํ ์ ์๋๊ฒ์ ์๋๋ค. ํ๊ต ๊ต์ฌ์ ๋ณด๋ฉด getline()๊ณผ get()์ด ๋์จ๋ค. string ๋ณ์๋ก ์
๋ ฅ์ ๋ฐ๋๋ค ํด๋ cin >>์ ์ฌ์ฉํ๋ฉด ๊ณต๋ฐฑ์ ์
๋ ฅ ๋ฐ์์ ์๋ค. ๋ฐ๋ผ์ getline() ์จ์ค์ผ ํ๋ค.
["Lovelyboy^_^"]๋ ์ด๊ฑธ ๋ง๊ฐํ๊ณ 1์๊ฐ๋์ ์ฝ์ง์ ํ ๊ฒฝํ์ด ์๋ค. ์ด๋ด๋๋ ์ผ๋จ char input255์ ๋๋ก ํฐ ๋ฐฐ์ด ์ก์ ๋์ ๋ค์ string์ผ๋ก ๋ณํ ์์ผ์ค๋ค. ์์ ๋ฅผ ๋ณด์.
#include <iostream> #include <string> using namespace std; int main() { char input[255]; cin.getline(input, 255); cout << string(input); return 0; }
- string์ ์ด์ฉํด์ ์ง์ ์
๋ ฅ ๋ฐ์๋ ค๋ฉด ์ด๋ ๊ฒ ํ ์ ์๋ค.
#include <iostream> #include <string> using namespace std; int main() { string input; getline(cin, input); cout << input; return 0; }