C++에서의 string token

2019. 9. 2. 08:33PL/C++

c++에서는 애석하게도 string token을 지원하지 않는다. c에서 사용했던 strtok를 사용할 수 있지만 string 클래스에서 getline을 이용해 구분해보려고 한다. getline은 default로 '\n' 개행을 delimeter로 받지만, 세번째 인자에 따로 사용자가 명시한다면 그 문자를 delimeter로 사용한다. 참고로 자르고 난 반환값은 delimeter는 포함하지 않는다

 

#include <string>
#include <sstream>
#include <iostream>

using namespace std;

int main(void) {
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);

	string input = "Hello World My World!";
	istringstream f(input);
	string s;
	while (getline(f, s, ' ')) {
		cout << s << '\n';
	}
	
	cout << "=============================\n";

	input = "put [ENTER]";
	f = istringstream(input);
	while (getline(f, s, '[')) {
		cout << s << '\n';
	}
	return 0;
}

 

'PL > C++' 카테고리의 다른 글

C# 네임스페이스와 열거형  (0) 2019.09.03
네트워크 오목 게임 구현하기  (0) 2019.09.02
memset과 ZeroMemory  (0) 2019.09.02
Winsock2 소켓 프로그래밍  (0) 2019.09.01
오목 승리 판정 구현하기  (0) 2019.09.01