ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [컴프실] 5일차
    공부/cpp 2023. 2. 22. 22:03

    문자열

    "" 안에 들어가는 문장을 의미를 한다.

    char형과 string 형을 구분해야하는데

    단순하게 char형이다. 하면 ''을 쓰고, string형은 ""을 쓴다.

     

    string은 클래스이다.

    클래스는 자기가 함수를 가지고 있을 수 있다. 자기가 가지고 있는 굉장히 다양하고 유용한 함수들을 불러서 쓸 수 있다.

    data와 메서드를 가지고 있고, 메서드는 클래스 내에 있는 함수를 의미를 한다.

     

    char형이 되었던, string형이 되었던 배열에 저장이 된다.

    배열은 인덱스를 가지고 접근이 된다. 인덱스 넘버는 0번부터 시작이 된다.

     

    c언어에서는 문자열을 저장하는 데이터 타입이 없었다.

    c언어는 배열을 선언을 한후 그 배열 하나하나에 문자를 저장을 했다.

    배열에 'h','e', 'l', 'l','o'

    그리고 난 이후에 for문을 이용해서 배열을 읽거나 출력을 했다.

    그리고 c에서 문자열을 인식하는 방법은 마지막에 '\0', '\n'을 집어넣어 문자열의 끝을 파악했다.

     

    cpp에서는 string변수가 있다.

    string 클래스 내에 있는 다양한 메서드들을 호출해서 다양한 일을 할 수 있다.

     

    문자열 초기화 방법

    1. string a = "hello";

    2. string b("hello"); 이건 객체를 만드는 것이라고 한다.

    3. string c{"hello"}; 보편적 초기화

    4. char array[] = {'h', 'e', 'l','l','o'}; string d(array); 이런식으로 객체를 생성할 수도 있지만 번거로운 것이기 때문에 사용 x

     

    숫자를 문자로 변환하는 것은

    to_string(숫자) 해당하는 하스키코드에 맞춰 문자를 출력해준다.

    string str1 = "100" //문자열이니 쌍따옴표 사용

     

    int num = stoi(str1) // stoi 함수, string to integer의 준말

    cout << num << endl;

    cout << num + 100 <<endl;

     

     

    string class에서 제공하는 여러가지 메소드들 정사면체이다.

    1. string.length() 문자열 길이 구하는 메소드

    여기서 .은 클래스에서 가지고 있는 무언인가를 접근하려면 .을 써준다. 윈도우 파일 접근하거나 인터넷 도메인 주소에 접근할 때 각각 \와 .을 쓰는 것과 같은 이치이다.

     

    2. str.at(인덱스) 인덱스 번째 문자 반환

     

    3. str.front() 문자열에 가장 앞에 있는 문자 반환

     

    4. str.back() 문자열에 가장 뒤에 있는 문자 반환

     

    5. str.append(문자열 변수) 문자열 뒤에 다른 문자열을 붙인다. 물론 +연산자도 똑같은 기능을 하긴 한다.

     

    6. str.replace(치환될 인덱스 위치, 치환될 글자 수, 치환할 내용) 자주 쓰이는 메서드이다. 문자열을 치환시킨다.

     

    7. str.insert(인덱스, 문자열) 인덱스 위치에 문자열 삽입

     

    8.str.find(문자열) 문자열을 찾는 함수 중복된 경우에는 첫번째 인덱스 반환, 없으면 이상한 값이 나옴.

    if(string :: npos == str.find("pi")){

        cout << "pi가 포함되어 있지 않음" << endl;

    }

    npos가 존재 하지 않음을 뜻하는 함수 비슷한 것이고, string 안에 속해있다.

    어떤 단어가 문자열에 포함되어 있는지 아닌지 확인할 때 쓰면 좋다.

     

    9. str.substr(시작 인덱스, 추출개수(공백포함)) 문자열을 추출하는 함수이다.

     

    10. str.empty() 문자열이 비어있는지 아닌지를 확인하는 함수. 비어있으면 1 반환, 비어있지 않으면 0 반환

     

    11. str.clear() 문자열 비우기 함수

    '공부 > cpp' 카테고리의 다른 글

    헷갈리는 보수 개념 정리  (0) 2023.03.07
    [컴프실] 5일차 -클래스  (0) 2023.02.23
    [컴프실] 4일차  (1) 2023.02.21
    [컴프실] 3일차  (1) 2023.02.18
    [컴프실] 2일차  (0) 2023.02.01
Designed by Tistory.