2012-07-01 3 views
0

저는 Python split 함수와 비슷한 것을 위해 C++에서 입력을 분할하는 데 문제가 있습니다.
입력은 다른 줄에 1001-43 1003-45 1008-67로 주어집니다. 이 입력을 '-'으로 나누어 다른 변수에 저장하는 방법을 알고 싶습니다.cin 입력을 분할하는 방법

파이썬에서 그건 :

a, x = input().split('-') 
+1

[? VC에서 문자열을 분할하는 방법 ++]의 중복 가능성 (http://stackoverflow.com/questions/1044088/how 예를 들어 대시 또는 별표에 분할 (자신의 문서에서 해제) -to-split-the-strings-in-vc) –

답변

-2

체크 아웃 대해 strtok(),

+0

개인적으로,'strtok '은 재귀가 아닌 기존 인터페이스 덕분에 매우 나쁜 권고라고 생각합니다. –

+0

'strtok'는 C에 대한 권장 사항이지만, 관용적 인 C++에는 꼭 필요한 것은 아닙니다. –

+1

'strtok' 슈퍼 슈퍼 - awful – Puppy

1

http://www.cplusplus.com/reference/clibrary/cstring/strtok/ 부스트에서보세요. string algorithms library에는 문자열을 원하는 stl 컨테이너로 분할하는 분할 함수를 포함하여 Python에서 찾을 수있는 대부분의 것이 포함됩니다.

std::string str1("hello abc-*-ABC-*-aBc goodbye"); 

std::vector<std::string> SplitVec; // #2: Search for tokens 
split(SplitVec, str1, is_any_of("-*"), token_compress_on); 

// SplitVec == { "hello abc","ABC","aBc goodbye" } 
-1
int number,digit1,digit2,digit3; 
std::cin>>number; 
digit1=number%10; 
digit2=number%100; 
digit3=number%1000; 
+0

귀하의 답변에 설명을 추가, 이것은 OP 이해 도움이됩니다. – Pawan