학습
C++ 문자열 처리
C++ 문자열 처리 — 초급
C++ 문자열 처리
1. 도입 (왜 배워야 하는가)
문자열 처리란 프로그램에서 텍스트 데이터를 다루는 방법을 의미합니다. 현대의 소프트웨어는 사용자와의 상호작용을 위해 대부분 텍스트 기반의 데이터를 사용합니다. 예를 들어, 웹사이트의 검색창, 이메일 클라이언트, 또는 채팅 애플리케이션 등에서 문자열 처리는 필수적입니다. 이러한 문자열을 적절히 처리하지 못하면 프로그램이 제대로 작동하지 않거나, 사용자에게 불편을 줄 수 있습니다.
실제로 문자열 처리의 기초를 이해하지 못하면, 데이터를 잘못 읽거나 저장하는 문제가 발생할 수 있습니다. 예를 들어, 사용자 이름을 입력받아 저장해야 할 때, 이를 제대로 처리하지 않으면 데이터베이스에 잘못된 정보가 저장되거나, 프로그램이 예기치 않게 종료될 수 있습니다.
2. 핵심 개념 설명
문자열(String)
C++에서 문자열은 문자들의 집합을 의미합니다. C++에서는 문자열을 std::string 클래스를 사용하여 표현합니다. 문자열은 우리가 일상에서 사용하는 단어와 문장을 표현하는 것과 비슷합니다. 예를 들어, "안녕하세요"라는 단어는 여러 개의 문자로 구성된 문자열입니다.
| 용어 | 설명 |
|---|---|
| std::string | C++에서 문자열을 표현하는 클래스 |
| char | 단일 문자를 나타내는 데이터 타입 |
문자열 리터럴
문자열 리터럴은 코드 내에서 직접 문자열을 작성하는 방법입니다. 예를 들어, "Hello, World!"는 문자열 리터럴입니다.
3. 기본 코드 예제
아래는 문자열을 선언하고 출력하는 가장 기본적인 코드입니다.
#include <iostream>
#include <string>
int main() {
std::string greeting = "안녕하세요"; // 문자열 변수 선언 및 초기화
std::cout << greeting << std::endl; // 문자열 출력
return 0; // 프로그램 종료
}
실행 결과:
안녕하세요
코드 한 줄씩 동작 설명:
#include <iostream>: 입출력 스트림을 사용하기 위한 헤더 파일을 포함합니다.#include <string>: 문자열 처리를 위한 헤더 파일을 포함합니다.std::string greeting = "안녕하세요";: 문자열 변수를 선언하고 초기화합니다.std::cout << greeting << std::endl;: 변수를 출력합니다.return 0;: 프로그램을 정상 종료합니다.
4. 실전 활용 예제
예제 1: 사용자 입력 처리
쇼핑몰에서 사용자가 입력한 상품명을 처리할 때, 다음과 같이 문자열을 사용할 수 있습니다.
#include <iostream>
#include <string>
int main() {
std::string productName;
std::cout << "상품명을 입력하세요: ";
std::getline(std::cin, productName); // 사용자로부터 문자열 입력 받기
std::cout << "입력한 상품명: " << productName << std::endl; // 입력한 상품명 출력
return 0;
}
예제 2: 문자열 길이 측정
사용자가 입력한 문자열의 길이를 측정하는 예제입니다.
#include <iostream>
#include <string>
int main() {
std::string userInput;
std::cout << "문자열을 입력하세요: ";
std::getline(std::cin, userInput);
std::cout << "입력한 문자열의 길이: " << userInput.length() << "자입니다." << std::endl; // 문자열 길이 출력
return 0;
}
5. 흔한 실수와 주의사항
실수 1: 문자열 초기화 시 잘못된 형식
std::string greeting = "안녕하세요; // 문자열 끝에 따옴표가 없음
std::string greeting = "안녕하세요"; // 올바르게 초기화됨
실수 2: 문자열의 길이 계산 시 실수
std::cout << userInput.size; // size() 함수를 호출하지 않음
std::cout << userInput.size(); // size() 함수를 호출하여 길이를 구함
6. 정리
std::string 클래스를 통해 처리한다.std::getline을 사용하여 문자열을 안전하게 받을 수 있다.length() 또는 size() 메소드를 사용한다.find, substr 등)