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'
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