自分で作成した文字列分割関数mysplit()

950 ワード

strtok()関数でカプセル化された文字列分割関数mysplit()sourceStrをソース文字列splitSymbolを区切り記号strArrayを分割した文字列としてvector形式で返す
#include
#include
#include
#include
using namespace std;
void mysplict(string sourceStr, char *splitSymbol, vector &strArray)
{
	string temp;
	char *str = new char[sourceStr.size()];
	sourceStr.copy(str, sourceStr.size(), 0); 
	*(str + sourceStr.size()) = '\0'; //        
	char *p2 = strtok(str, splitSymbol);
	while (p2 != NULL)
	{
		//cout << p2 << endl;
		temp = p2;
		cout << temp << endl;
		strArray.push_back(temp);
		p2 = strtok(NULL, splitSymbol);
	}

}
int main()
{
	string temp;
	vector number;
	while (getline(cin, temp))		//while (cin>> temp)
	{
		cout << temp<

入力:1,2 2,3 45,6 7出力:1,2,3 45,6 7 1 2 3 45 6