-string : c++11 μμ±μλ€
string(string && str) noexcept μμ±μλ strμ΄ λ°λμ constλ‘ μ·¨κΈλλ κ²μ΄ μλλ€. μ΄λ° ννμ μμ±μλ₯Ό μ΄λ μμ±μλΌ νλ€. μ»΄νμΌλ¬λ κ²½μ°μ λ°λΌ λ³΅μ¬ μμ±μ λμ μ μ΄λ μμ±μλ₯Ό μ¬μ©ν μ μλ€.
string(initializer_list<char> il) μμ±μλ string ν΄λμ€μ 리μ€νΈ μ΄κΈ°νλ₯Ό κ°λ₯νκ² νλ€.
string piano_man = {'L','i','s','z','t'};
string ν΄λμ€ μ λ ₯
cμ€νμΌμ λ¬Έμμ΄μ λν΄μλ μΈ κ°μ§ μ λ ₯ μ΅μ μ μ¬μ©ν μ μλ€.
char info[100];
cin>>info; //ν λ¨μ΄λ₯Ό μ½λλ€.
cin.getline(info,100); //ν νμ μ½λ, \nμ λ΄λ²λ¦°λ€.
cin.get(info,100); //ν νμ μ½λ, \nμ νμ λ¨κ²¨λλ€.
string κ°μ²΄μ κ²½μ°μλ λ κ°μ§ μ΅μ μ μ¬μ©ν μ μλ€.
string stuff;
cin>>stuff; //ν λ¨μ΄λ₯Ό μ½λλ€.
getline(cin,stuff); //ν νμ μ½λ, \nμ λ΄λ²λ¦°λ€.
getline()μ λ λ²μ μ, μ λ ₯μ ꡬλΆνλ μ©λλ‘ μ΄λ λ¬Έμλ₯Ό μ¬μ©ν κ²μΈμ§ μ§μ νλ μ νμ 맀κ°λ³μλ₯Ό νμ©νλ€.
cin.getline(info,100,':'); //:κΉμ§ μ½κ³ :μ λ΄λ²λ¦°λ€.
getlinf(stuff,':'); //:κΉμ§ μ½κ³ :μ λ΄λ²λ¦°λ€.
λ¬Έμμ΄ μ λ ₯ ν¨μλ€μ μ νμ΄ μλ€. 첫 λ²μ§Έ μ ν μμΈμ, string::nposλ‘ λνλ΄λ λ¬Έμμ΄μ μ΅λ νμ© ν¬κΈ°μ΄λ€. μΌλ°μ μΌλ‘ μ΄κ²μ unsigned intμ μ΅λ ν¬κΈ°μ΄λ€.
λ λ²μ§Έ μ ν μμΈμ νλ‘κ·Έλ¨μ΄ μ¬μ©ν μ μλ λ©λͺ¨λ¦¬μ ν¬κΈ°μ΄λ€. string ν΄λμ€λ₯Ό μν getline() ν¨μλ, λ€μ μΈ κ°μ§ μ€ μ΄λ νλκ° μΌμ΄λ λκΉμ§, μ λ ₯μΌλ‘λΆν° λ¬Έμμ΄λ€μ μ½μ΄ νλμ λ¬Έμμ΄λ‘ μ μ₯νλ€.
- νμΌμ λμ λ§λ¬μ λ, μ λ ₯ μ€νΈλ¦Όμ eofbitκ° μ€μ λλ€. μ΄κ²μ fail()κ³Ό eof() λ©μλκ° trueλ₯Ό 리ν΄νλ€λ κ²μ μλ―Ένλ€.
- κ΅¬λΆ λ¬Έμ(λν΄νΈλ \n)μ λμ°©νμ λ, κ΅¬λΆ λ¬Έμλ μ λ ₯ μ€νΈλ¦ΌμΌλ‘λΆν° μ κ±°λκ³ μ μ₯λμ§ μλλ€.
- κ°λ₯ν μ΅λ λ¬Έμμ(string::nposμ, λμ μ μ¬μ©ν μ μλ λ©λͺ¨λ¦¬μ λ°μ΄νΈ μ μ€ λ μ μ κ²)λ₯Ό μ½μμ λ, μ λ ₯ μ€νΈλ¦Όμ failbitκ° μ€μ λλ€. μ΄κ²μ fail() λ©μλκ° trueλ₯Ό 리ν΄νλ€λ κ²μ μλ―Ένλ€.
λ¬Έμμ΄ μμ
μ¬μ― κ°μ κ΄κ³ μ°μ°μ λͺ¨λλ₯Ό string κ°μ²΄λ₯Ό μν΄ μ€λ² λ‘λ©ν μ μλ€. κΈ°κ³ μ‘°ν μμλ‘ λ°μ‘μ λ λ€λ₯Έ κ°μ²΄λ³΄λ€ μμ λμ€λ κ°μ²΄λ₯Ό μμ κ²μΌλ‘ κ°μ£Όνλ€. κΈ°κ³ μ‘°ν μμκ° ASCII μ½λμΌ κ²½μ°, μ«μλ€μ λλ¬Έμλ€λ³΄λ€ μκ³ , λλ¬Έμλ€μ μλ¬Έμλ€λ³΄λ€ μλ€.
μ΄λ€ λ¬Έμμ΄μ ν¬κΈ°λ₯Ό μ μ μλ€. size()μ length() λ©€λ² ν¨μλ λ λ€ λ¬Έμμ΄μ λ€μ΄μλ λ¬Έμ μλ₯Ό 리ν΄νλ€.
λ¬Έμμ΄ μμ λ€μ΄μλ λΆλΆ λ¬Έμμ΄μ΄λ μ΄λ€ λ¬Έμλ₯Ό find() λ©μλλ₯Ό μ¬μ©νμ¬ λ€μν λ°©λ²μΌλ‘ κ²μν μ μλ€.
string::nposλ string κ°μ²΄μ μ μ₯ν μ μλ μ΅λ νμ© λ¬Έμ μμ΄λ€.
μ€λ² λ‘λ©λ find() λ©μλ
λ©μλ μν | μ€λͺ |
size_type find(const string &str,size_type pos =0) const | νΈμΆν λ¬Έμμ΄μ pos μμΉμμλΆν° μμνμ¬ μ²μμΌλ‘ λ°μνλ λΆλΆ λ¬Έμμ΄ strμ κ²μνλ€. λΆλΆ λ¬Έμμ΄μ΄ λ°κ²¬λλ©΄ 첫 λ¬Έμμ μΈλ±μ€λ₯Ό 리ν΄νλ€. κ·Έλ μ§ μμΌλ©΄ string::nposλ₯Ό 리ν΄νλ€. |
size_type find(const char *s,size_type pos =0) const | νΈμΆν λ¬Έμμ΄μ posμμΉμμλΆν° μμνμ¬ μ²μμΌλ‘ λ°μνλ λΆλΆ λ¬Έμμ΄ sλ₯Ό κ²μνλ€. λΆλΆ λ¬Έμμ΄μ΄ λ°κ²¬λλ©΄ 첫 λ¬Έμμ μΈλ±μ€λ₯Ό 리ν΄νλ€. κ·Έλ μ§ μμΌλ©΄ string::nposλ₯Ό 리ν΄νλ€. |
size_type find(const char *s,size_type pos =0,size_type n) const | νΈμΆν λ¬Έμμ΄μ pos μμΉμμ λΆν° μμνμ¬ sμ μλ μ²μ nκ°μ λ¬Έμλ‘ κ΅¬μ±λλ λΆλΆ λ¬Έμμ΄μ΄ μ²μ λμ€λ κ²μ μ°Ύλλ€. λΆλΆ λ¬Έμμ΄μ΄ λ°κ²¬λλ©΄ 첫 λ¬Έμμ μΈλ±μ€λ₯Ό 리ν΄νλ€. κ·Έλ μ§ μμΌλ©΄ string::nposλ₯Ό 리ν΄νλ€. |
size_type find(char ch,size_type pos=0) const | νΈμΆν λ¬Έμμ΄μ pos μμΉμμ λΆν° μμνμ¬ λ¬Έμ chκ° μ²μ λμ€λ κ²μ μ°Ύλλ€. λ¬Έμκ° λ°κ²¬λλ©΄ κ·Έκ²μ μΈλ±μ€λ₯Ό 리ν΄νλ€. κ·Έλ μ§ μμΌλ©΄ string::nposλ₯Ό 리ν΄νλ€. |
string κ°μ²΄λ₯Ό κ°μ§κ³ μμ§λ§ cμ€νμΌ λ¬Έμμ΄μ΄ νμν κ²½μ°, c_str() λ©μλκ°, νΈμΆνλ string κ°μ²΄μ λμΌν λ΄μ©μ κ°μ§λ cμ€νμΌ λ¬Έμμ΄μ κ°λ¦¬ν€λ ν¬μΈν°λ₯Ό 리ν΄νλ€λ κ²μ΄λ€.