void read_character(ifstream &a)
{
char t;
a >> t;
if (t == '+')
{
string temp;
getline(a, temp);
character_name = temp;
a >> number;
spetifications = new string[number];
spetifications_value = new int[number];
for (int i = 0; i < number; i++)
{
a >> spetifications[i];
}
for (int i = 0; i < number; i++)
{
a >> spetifications_value[i];
}
a >> t;
if (t != '+') { throw; }
}
else
{
throw;
}
}
int main()
{
ifstream k("output.txt");
b.read_character(k);
}
Суть проблемы в следующем, я хочу считать объект b с текстового файла, для удобства блок этого объекта выделен плюсами. Исключений не вызывает, даже последний плюс считывается полноценно, но все, что после getline() считывается неправильно с левыми значениями, да и другие объекты впоследствии выбрасывают исключения при считывании. Сам текстовый файл:
+
void
2
first_spetification
second_spetification
45
100
+
getline(числа доставайте из уже прочитанных строк) – avp Apr 23 '19 at 20:31