2017-06-04 12 views
-2

ちょうど私がcppの分割関数を定義することができるかどうか分かります。私は、プログラムを変換するときにsplitを必要とするpythonでプログラムを作成していましたが、split関数は存在しませんでした。例えば :この行ののexeution後JavaとPythonのようにcppでsplit関数を実装する方法は?

str- "this is split try" 
str1[]=str.split(" "); 

str1は[ `のstd :: partition`](HTTPのようなものかもしれませ{"this","is","split","try"}

+2

が含まれている必要があります//en.cppreference。 com/w/cpp /アルゴリズム/パーティション)?特定のユースケースを指定してください。 –

+0

ようこそスタックオーバーフローへ。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –

+0

@Galik OPは、実際に分割することが不明なまま残しました。 –

答えて

0
#include <iostream> 
#include <vector> 

using namespace std; 
typedef vector<string> array; 

array split(const string &str, char ch){ 
    auto itr = str.begin(); 
    array result; 
    string temp; 
    while(itr != str.end()){ 
     if(*itr != ch) 
      temp.push_back(*itr); 
     else{ 
      result.push_back(move(temp)); 
     } 
     ++itr; 
    } 
    return result; 
} 

int main() 
{ 
    string str = "my name is sumit jindal"; 
    array arr = split(str, ' '); 
    for(auto it = arr.begin(); it<arr.end(); ++it) 
     cout << *it << endl; 
    return 0; 
} 
+0

'配列arr {istream_iterator {str}、istream_iterator {}};'あまり冗長ではありません – Ap31

関連する問題