string 기본 문자 시리즈 용기 (1)

13655 단어 String
C 언어에서 문자를 처리하는 데 사용되는char 형식만 제공되기 때문에 문자열을 처리하는 데 있어서 우리는 종종 문자 그룹을 통해 처리하는데, 이것은 때때로 매우 불편하다.
사실vector는char 형식의 수조와 비슷하고vector은 문자열 형식의 수조입니다.
 
1.1 string 형식의 대상을 만듭니다
다음 코드는 문자열 대상 s를 만들었고 s는 빈 문자열입니다. 그의 길이는 0입니다.string에 있어서는 s.length () 와 s.size () 를 동시에 사용하여 길이를 구할 수 있습니다.
# include<iostream>

# include<string>



using namespace std;



int main(void)

{

    string s;

    cout<<s.length()<<endl;

    cout<<s.size()<<endl;



    return 0;

}

 
1.2 string 대상에게 값을 부여한다
 
string에 값을 부여하는 두 가지 방식이 있는데, 하나는 string에 직접 값을 부여하는 것이고, 다른 하나는 문자열 바늘을 문자열의 대상에게 부여하는 것이다.
1) 코드:
# include<iostream>

# include<string>



using namespace std;



int main(void)

{

    string s;

    s = "Hello,C++STL";

    cout<<s<<endl;

    return 0;

}

2) 더 자주 사용하는 방법은 문자열 바늘을 문자열의 대상에게 값을 부여하는 것이다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string ss;

    char s[MAX];

    scanf("%s",s);

    ss = s;

    cout<<ss<<endl;





    return 0;

}

 
2.3string 대상의 끝에서 문자 추가
string 객체의 끝 부분에 문자(char)를 추가하고 다음과 같이 "+"작업을 수행합니다.
  
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s+='a';

    s+='b';

    s+='c';

    cout<<s<<endl;



    return 0;

}

string의 끝부분에는 당연히 문자열을 추가할 수 있다. 방법도 두 가지가 있는데 하나는'+'로 직접적으로 하고 다른 하나는 append 함수를 직접 사용한다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s+="abc";

    s+="123";

    cout<<s<<endl;



    return 0;

}

append 함수로 해결합니다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s.append("123");

    s.append("abc");

    cout<<s<<endl;



    return 0;

}

 
2.4 string 객체에 문자 삽입
insert () 방법으로 교체기가 가리키는 위치 앞에 문자를 삽입할 수 있습니다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s = "1234556";

    // 

    string::iterator it;

    // 

    it = s.begin();

    // ‘p’ string , 0 

    s.insert(it+1,'p');

    cout<<s<<endl;



    return 0;

}

 
2.5string 대상에 접근하는 요소
  
일반적으로 아래 첨자 방식으로 랜덤으로string 대상에 접근하는 요소는 0에서 시작하는 계수입니다.또한string 대상 중의 원소의 본질은char라는 점은 명확해야 한다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s = "1234556aaaa";

    cout<<s[8]<<endl;

    cout<<s[8]-'a'<<endl;

    return 0;

}

 
2.6 string 대상의 요소 삭제
string 대상의 요소를 삭제합니다. 사실은vector 용기의 요소를 삭제하는 것과 같습니다. 모두erase () 를 사용하거나 원시적인string에 '(빈 문자열로 비울 수 있습니다.)
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s = "1234556aaaa";

    string::iterator it;

    it = s.begin();

    s.erase(it+3);

    cout<<s<<endl;

    s.erase(it,it+5);

    cout<<s<<endl;

    s = "";

    cout<<s.length()<<endl;





    return 0;

}

 
2.7 string 대상의 길이를 되돌려줍니다
length() 방법으로 문자열의 길이를 되돌릴 수 있고,empty() 방법으로 문자열이 비어 있는지 되돌릴 수 있으며, 문자열이 비어 있으면 논리 진짜로 되돌릴 수 있다.
그렇지 않으면 논리적 가짜로 돌아갑니다.
# include<iostream>

# include<string>

# include<cstdio>



using namespace std;



# define MAX 123



int main(void)

{

    string s;

    s = "1234556aaaa";

    cout<<s.length()<<endl;

    cout<<s.empty()<<endl;

    s = "";

    cout<<s.length()<<endl;

    cout<<s.empty()<<endl;



    return 0;

}

좋은 웹페이지 즐겨찾기