2011-08-05 80 views
1

實質上,C++中是否有等價的readline()。split()python函數?

int main(int argc, char** argv) 

正是如此(或到一個非常接近程度)。我想知道是否可以用其他功能複製int main(...)的功能。例如,假設我有一個

readline(); 

功能從文件中讀取一行。我想知道該行包含argc多少個參數,以及每個參數(該行中的空格表示新參數)的一個數組argv。所以我有兩個問題:

  1. 這樣的函數是否存在於除了int main()函數之外的C++中?
  2. 如果不是,寫一個會很困難。如果對這個問題的答案也是否定的,我很樂意聽到關於從哪裏開始的幾點建議。我對C++沒有經驗,我不確定string類是否具有此功能。

謝謝!

+1

'命令 「是這樣的一個說法」'? –

+4

請參閱[如何在C++中拆分字符串?](http://stackoverflow.com/questions/236129/),[如何在C++中使用字符串化字符串?](http://stackoverflow.com/questions/53849 /),[C++有哪些參數解析器庫?](http://stackoverflow.com/questions/253556/) –

+0

謝謝,我會檢查這些。 – Amit

回答

3

boost::split

#include <boost/algorithm/string.hpp> 
std::vector<std::string> strs; 
boost::split(strs, "word1 word2 word3", boost::is_any_of(", ")); 
+0

所以我認爲這會創建一個由strs [0] = word1',strs [1] = word2'等組成的向量strs等等。如果我要分割的字符串是'「word1 10 5.0 word2 「'和我使用這個分裂的東西,我能夠使用整數和浮點數作爲實際數字而不是字符串?我可以和他們計算一下嗎?說...'strs [2] * 10'會導致100?因爲這真的是我需要的:) – Amit

相關問題