Notice
Recent Posts
Recent Comments
Link
투케이2K
27. (C++) [istringstream] : split 사용해 문자열 분리 실시 본문
[개발 환경 설정]
개발 언어 : C++
[소스 코드]
// -----------------------------------------------------------------------------------------
//
// Created by KGH on 2023-02-12.
//
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [헤더 파일 import]
#include "Test.h"
#include <android/log.h>
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [include 및 define 문 정의]
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [split 함수 정의]
vector<string> split(string str, char Delimiter) {
istringstream iss(str); // [istringstream 에 데이터를 담음]
string buffer;
vector<string> result;
while (getline(iss, buffer, Delimiter)) {
result.push_back(buffer); // [특정 문자 기준 분리된 문자열을 vector 에 저장]
}
// [리턴 반환 실시]
return result;
}
// -----------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------
// TODO [구현부 소스 코드 작성]
int main(void)
{
/**
* ------------------------------------
* [요약 설명]
* ------------------------------------
* 1. split : 특정 문자열 기준으로 해당 문자열을 분리합니다
* ------------------------------------
* */
// [변수 선언 실시]
string data = "hello,투케이,반가워";
// [콤마 (,) 기준으로 문자열 분리]
vector<string> result = split(data, ',');
// [로그 출력 실시]
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
__android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[0번지] :: %s", result[0].c_str());
__android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[1번지] :: %s", result[1].c_str());
__android_log_print(ANDROID_LOG_INFO, "[C++] [LOG]", "[2번지] :: %s", result[2].c_str());
__android_log_print(ANDROID_LOG_WARN, "[C++] [LOG]", "%s", "=====================================================");
return 0;
}
// --------------------------------------------------------------------------------------
[결과 출력]
W/[C++] [LOG]: =====================================================
I/[C++] [LOG]: [0번지] :: hello
I/[C++] [LOG]: [1번지] :: 투케이
I/[C++] [LOG]: [2번지] :: 반가워
W/[C++] [LOG]: =====================================================
반응형
'C++' 카테고리의 다른 글
29. (C++) replace 사용해 특정 문자열을 다른 문자열로 변경 (치환) 실시 (0) | 2023.03.05 |
---|---|
28. (C++) try catch 구문 사용해 에러 예외 처리 및 throw 예외 발생 수행 (0) | 2023.03.04 |
26. (C++) string to double 데이터 형 변환 수행 실시 (0) | 2023.03.04 |
25. (C++) %f 사용해 소수점 출력 자리수 제한 실시 (0) | 2023.03.04 |
24. (C++) or 연산자 사용해 조건이 하나 라도 만족하는지 확인 실시 (0) | 2023.03.04 |
Comments