Vector out of range ?

0

Witam,
próbuje wyciągnąć pewne wartości z bazy danych potem je podzielić na spacje i kropki . Jednak dostaje exception : Vector subscript out of range . Gdzie tutaj wychodzę poza vector ? Bo nie rozumiem .. Wcześniej ten kod działał normalnie .. Teraz nie chce.

if (!temp_shop_items.empty())
			{
				boost::algorithm::split(split_space, temp_shop_items, std::bind2nd(std::equal_to<unsigned char>(), (0x20)));

				for (int i = 0; i < split_space.size(); i++)
				{
					boost::algorithm::split(split_dots, split_space[i], std::bind2nd(std::equal_to<unsigned char>(), (0x2E)));
					SNpcItemList item_list_temp;
					int item_type = atoi(split_dots[0].c_str());

					switch (item_type)
					{
					case 0:
						item_list_temp.type = atoi(split_dots[0].c_str());
						item_list_temp.slot = atoi(split_dots[1].c_str());
						item_list_temp.item_id = atoi(split_dots[2].c_str());
						item_list_temp.price = atoi(split_dots[5].c_str());
						break;
					case 1:
						item_list_temp.type = atoi(split_dots[0].c_str());
						item_list_temp.slot = atoi(split_dots[1].c_str());
						item_list_temp.item_id = atoi(split_dots[2].c_str());
						item_list_temp.amount = atoi(split_dots[3].c_str());
						item_list_temp.price = atoi(split_dots[4].c_str());
						break;
					case 2:
						item_list_temp.type = atoi(split_dots[0].c_str());
						item_list_temp.slot = atoi(split_dots[1].c_str());
						item_list_temp.item_id = atoi(split_dots[2].c_str());
						item_list_temp.amount = atoi(split_dots[3].c_str());
						item_list_temp.price = atoi(split_dots[4].c_str());
						break;
					}

					npc_temp.shop_items.push_back(item_list_temp);
				}
			}

			Npc_temp.push_back(npc_temp);
		}
	}
 

shop_items zawiera :
1.0.1227.-1.70000 2.1.2188.-1.14000 1.2.1072.-1.5000 1.3.1036.-1.500 1.4.1037.-1.500 1.5.1038.-1.500 2.6.2070.-1.300 2.7.2071.-1.600 2.8.2072.-1.400 2.9.2085.-1.230 2.10.2086.-1.680 2.11.2087.-1.1200 2.12.2089.-1.2500 2.13.2329.-1.2500 2.14.2030.-1.1000 2.15.2098.-1.100 2.16.2102.-1.120 2.17.2130.-1.1000 2.18.2155.-1.400 2.19.2156.-1.90000 2.20.2170.-1.25000 0.21.331.0.0.120 1.22.1176.-1.9000 1.23.1191.-1.9000 1.24.1192.-1.9000 1.25.1193.-1.9000 1.26.1194.-1.9000 0.27.347.0.0.120

0

w sensie ze ktos ma odpalic debugger zamiast ciebie? czemu nie mozesz krok po kroku przejsc przez program i sprawdzic ta krotka serie danych?

0

Śmieszna spacja w kolumnie ... Nieważne , problem rozwiązany ;).

1 użytkowników online, w tym zalogowanych: 0, gości: 1