C++에서 문자열 반복

Jinku Hu 2023년10월12일
  1. 범위 기반 루프를 사용하여 C++에서 문자열 반복
  2. for 루프를 사용하여 C++에서 문자열 반복
C++에서 문자열 반복

이 기사에서는 C++에서 인덱스 수를 유지하면서 문자열을 반복하는 방법에 대한 여러 방법을 소개합니다.

범위 기반 루프를 사용하여 C++에서 문자열 반복

최신 C++ 언어 스타일은이를 지원하는 구조에 대해 범위 기반 반복을 권장합니다. 한편, 현재 인덱스는 각 반복마다 증가하는size_t 유형의 별도 변수에 저장할 수 있습니다. 증분은 변수 끝에++연산자로 지정됩니다. 접두사로 넣으면 1로 시작하는 인덱스가 생성되기 때문입니다. 다음 예제는 프로그램 출력의 짧은 부분 만 보여줍니다.

#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main() {
  string text = "They talk of days for which they sit and wait";

  size_t index = 0;
  for (char c : text) {
    cout << index++ << " - '" << c << "'" << endl;
  }

  return EXIT_SUCCESS;
}

출력:

0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'

for 루프를 사용하여 C++에서 문자열 반복

내부 스코프가 매트릭스 / 다차원 배열 작업을 포함 할 때 유연성을 제공하기 때문에 기존의 for루프에서 우아함과 힘이 있습니다. OpenMP 표준과 같은 고급 병렬화 기술을 사용할 때 선호되는 반복 구문이기도합니다.

#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main() {
  string text = "They talk of days for which they sit and wait";

  for (int i = 0; i < text.length(); ++i) {
    cout << i << " - '" << text[i] << "'" << endl;
  }

  return EXIT_SUCCESS;
}

출력:

0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'

또는at()멤버 함수를 사용하여 문자열의 개별 문자에 액세스 할 수 있습니다.

#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

int main() {
  string text = "They talk of days for which they sit and wait";

  for (int i = 0; i < text.length(); ++i) {
    cout << i << " - '" << text.at(i) << "'" << endl;
  }

  return EXIT_SUCCESS;
}

출력:

0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

관련 문장 - C++ String