[C++] string


C++에서 string은 일종의 배열 형태다. 배열에 문자를 한개씩 넣은거라 볼 수 있다.



string s1 = "OH";
string s2 = "Hello World";
string s3 = " ";
char *c1 = "cstr";



2. string 합치기

s3 = s1 + s2;

s3.append("write what you want");
// 개수, 더할 문자 -> 'aaa'

s3.append(number, 'a');
//s3에 s1의 index부터 number개까지 합치기

s3.append(s1, index, number);



3. string 크기 확인

s.length();
s.size();



4. string 특정 위치 문자

s3.at(index);



5. string 특정 문자 탐색


s3.find("Hello");



6. string 비교

if (s3.compare(s2) == 0){
    //s3 = s2
}
else if (s3.compare(s2) < 0){
    //s3가 s2보다 사전 순으로 앞
}
else if (s3.compare(s2) > 0){
   //s3가 사전 순으로 뒤
}



7. string 할당된 크기

s3.capacity();



8. string 지우기

//문자열 모두 지우기
s3.clear();

//index부터 number개까지 지우기
s3.erase(index, number);



9. string 바꾸기

//index부터 number까지 "string"으로 바꾸기
s3.replace(index, number, "string");



10. string & char 변환
//char -> string
char *c = "hello";
string s = c;

//string -> char
string s = "hello";
const char *c = s.c_str();

//char -> int
char *c = "123456";
int n = atoi(c);

//string -> int
string s = "12345";
int n = atoi(s.c_str());

10-1. atoi 응용 : 정수 확인

if(atoi(s.c_str()) != 0 || s.compare("0") == 0){
    // this is integer.
}



11. 문자 기준으로 문자열 자르기

char c[100] = "helloooo worldddd nice to meeeet you";

char* token = strtok(c, " ");

while(token != null){

    //do something
    token = strtok(null, " ");
}

댓글