Ho delle righe di lunghezza diversa in un file txt...

del tipo:

1,2,3,4,5
3,4,5
7,4,8,9,12
10,23,24,25,67,87
33,45,90

e questo cod:

codice:
for (int x=0;x<vec2.size();x++) {

	// Originale Definizione della Stringa e i variabili
	string data, orig = vec2[x];
	unsigned int set_size = orig.size()-(orig.size()/2)-5;
	unsigned int i = 0;

	
	 cout << "\n"; 
     cout << "ELEMENTO VETTORE: ";
     cout << vec2[x];
     cout << "\n";
     //cin.get();
	
	

	for(i=0;i<set_size;i++){
		size_t pos = orig.find(",", 0);
		data = orig.substr(0,pos);
		orig.erase(0,pos+1); // Prevenzione di duplicazione
		vect2.push_back(data);
	}
	
	 cout << "\n"; 
     cout << "NUMERO DI ELEMENTI ANALIZZATI...: ";
     cout << vect2.size();
     cout << "\n";
che dovrebbe prendere i singoli elementi e metterli in un array relativo per ogni riga...
per successive elaborazioni...

il problema è che le righe non sono di lunghezza fissa e il codice sopra postato mi tronca..
le righe più corte di tot elementi...
Esiste una soluzione unica? Per creare di volta in volta l'array temporaneo di dimensioni appropriate? Se si quale? Thanks