我面臨着在C++中拆分我的輸入的問題,用於類似於Python拆分函數。
輸入以不同的行作爲1001-43 1003-45 1008-67給出。我想知道如何將這些輸入拆分爲'-'
並將它們存儲在不同的變量中。如何拆分cin輸入
在Python是:
a, x = input().split('-')
我面臨着在C++中拆分我的輸入的問題,用於類似於Python拆分函數。
輸入以不同的行作爲1001-43 1003-45 1008-67給出。我想知道如何將這些輸入拆分爲'-'
並將它們存儲在不同的變量中。如何拆分cin輸入
在Python是:
a, x = input().split('-')
個人而言,我認爲'strtok'是一個非常糟糕的建議,因爲它的遺留非重入接口。 –
'strtok'對於C來說是一個很好的建議,但不一定適合習慣C++。 –
'strtok'超級超級可怕 – Puppy
看一看提升。 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" }
int number,digit1,digit2,digit3;
std::cin>>number;
digit1=number%10;
digit2=number%100;
digit3=number%1000;
爲你的答案增加解釋,這將有助於OP理解。 – Pawan
的[?如何在VC中的字符串分割++]可能重複(http://stackoverflow.com/questions/1044088/how -vr) –