Имеется входная строка с двумя запятыми .Я нахожу позиции двух запятых и делю на 3 подстроки по запятым ,но вот подстрока между двумя запятыми определяется не правильно .
#include <iostream>
#include <string>
using namespace std;
string stroke;
int n;
int main()
{
cin >> n;
if (n > 10000 || n < 1) {
return -1;
}
cin.ignore();
for (int i = 1; i <= n; i++) {
getline(cin, stroke);
cout <<"string: "<< stroke << endl;
//деление строки на персон :
short zap1 = stroke.find(",");
short zap2 = stroke.find(",",zap1+1);
cout << "zap2 : " << zap2 << endl;
string dad, mom, son;
dad = stroke.substr(0, zap1);
mom = stroke.substr(zap1 + 1, zap2);
son = stroke.substr(zap2 + 1);
cout << "son : "<<son << " moth : "<<mom<<" dad : " << dad <<endl;
}
}
я получаю строку от первой запятой ,до конца , хотя все остальное определяется правильно.