Split dan Explode

Dalam PHP maupun javascript ada function untuk memisahkan isi string ke dalam array dengan menggunakan karakter yang disebut dengan delimiter. Function tersebut yaitu split dan explode. Dalam bahasa C++, hasil yang sama bisa didapatkan dengan menggunakan operator concat (+) dan loop. 

Contoh kode programnya adalah seperti di bawah ini.

#include <iostream>

using namespace std;

int split(string *arr, string s, int maks, char c){
    string sub="";
    int pos=0;
    int ukuran=s.length();
    for(int i=0;i<ukuran;i++){
    	if(s[i]!=c)sub+=s[i];
    	else{
            arr[pos]=sub;
        	sub="";
        	pos++;
        	if(pos>=maks)break;
    	}
    }
    if(pos<maks)arr[pos]=sub;
    return pos+1;
}

int main(){
     string a[4];
     string s="Saya suka kamu";
     
     int n=split(a, s, 4, ' ');
     
     for(int i=0;i<n;i++){
         cout << "Array[" << i << "] : ";
         cout << a[i] << endl;
     }
     return 0;
}
Output :
Array[0] : Saya
Array[1] : suka
Array[2] : kamu
Array di atas adalah array statis, karena itu kalian perlu menyebutkan batas ukurannya. Jika kalian mau array yang dinamis, lebih baik gunakan vector dari STL. Kalian bisa menghilangkan parameter "maks" karena ada method length yang dimiliki vector dan container STL lainnya.