Читаю на с++ id3v2 тэги mp3 файла. В какой-то момент появляется тэг APIC, у которого размер фрейма слишком велик для помещения в память. Программа крашится, как это обойти? Читаю тэги так в цикле:
char input[4];
file.read(input, 4); //название тэга
cout << input << " ";
delete[] input;
input = new char[4];
file.read(input, 4); //длина тэга
unsigned int length = (int)input[0]*2097152 + (int)input[1]*16384 + (int)input[2]*128 + (int)input[0];
delete[] input;
input = new char[2];
file.read(input, 2); //флаги
delete[] input;
input = new char[length]; // здесь ошибка из-за очень большого length (больше размера файла - 4Гб)
file.read(input, length);
cout << input << endl;
Ошибка появляется нетолько на APIC, но и на PRIV в другом файле по аналогичной причине.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Пытаюсь сделать выбор обьектов с помощью Ray CastingКогда жму мышкой в окне создается луч который показывает куда направляется вектор
Допустим у меня есть класс TTable с конструктором TTable (TRow это другой класс, с ним все работает)
Есть табличка - 1млн человек, есть разные данные, внешние ключи и тдНеобходимо быстро (насколько это возможно) выбрать из таблички данные,...