Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 문자열의 모든 문자를 하나씩 순회하는 방법

이 글에서는 C++에서 문자열(string)에 포함된 모든 문자를 하나씩 순회하는 방법을 알아보겠습니다. 문자열의 각 문자를 반복 처리하려면 0부터 (문자열 길이 - 1)까지 반복문을 실행하면 됩니다.

특정 위치의 문자에 접근하는 방법은 두 가지가 있습니다. 첫 번째는 첨자 연산자 []를 사용하는 것이고, 두 번째는 string 객체가 제공하는 at() 함수를 사용하는 것입니다. at() 함수는 잘못된 인덱스 접근 시 예외를 발생시키므로 안전성 측면에서 유리합니다.

입력: 문자열 "Hello World"
출력: "Hello World"

알고리즘

1단계: 문자열을 준비한다
2단계: 0부터 (문자열 길이 - 1)까지 반복문을 실행한다
3단계: 반복문 안에서 at() 함수 또는 [] 연산자로 해당 위치의 문자에 접근하여 출력한다

예제 코드

#include<iostream>
using namespace std;
main() {
   string my_str = "Hello World";
   for(int i = 0; i<my_str.length(); i++) {
      cout << my_str.at(i) << endl; // i번째 위치의 문자를 가져옴
   }
}

실행 결과

H
e
l
l
o

W
o
r
l
d

코드 설명

위 코드에서는 my_str.length()를 통해 문자열의 전체 길이를 구하고, for 반복문으로 인덱스 i를 0부터 차례대로 증가시킵니다. 매 반복마다 my_str.at(i)i번째 위치의 문자를 반환하며, coutendl을 사용해 한 줄에 한 글자씩 출력합니다. 공백 문자도 하나의 문자로 취급되기 때문에 'Hello'와 'World' 사이에 빈 줄이 출력되는 것을 확인할 수 있습니다.

참고로 at(i) 대신 my_str[i]처럼 첨자 연산자를 사용해도 동일한 결과를 얻을 수 있습니다. 또한 C++11 이상에서는 범위 기반 for문(for(char c : my_str))을 활용하면 더욱 간결하게 문자를 순회할 수 있습니다.