2012-07-01 106 views
0

我面臨着在C++中拆分我的輸入的問題,用於類似於Python拆分函數。
輸入以不同的行作爲1001-43 1003-45 1008-67給出。我想知道如何將這些輸入拆分爲'-'並將它們存儲在不同的變量中。如何拆分cin輸入

在Python是:

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

的[?如何在VC中的字符串分割++]可能重複(http://stackoverflow.com/questions/1044088/how -vr) –

回答

-2
+0

個人而言,我認爲'strtok'是一個非常糟糕的建議,因爲它的遺留非重入接口。 –

+0

'strtok'對於C來說是一個很好的建議,但不一定適合習慣C++。 –

+1

'strtok'超級超級可怕 – Puppy

1

看一看提升。 string algorithms library包括你可以在python中找到的大部分內容,包括一個將字符串拆分爲你選擇的stl容器的分割函數。例如分裂(從自己的文件解除)在破折號或星號:

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