Насколько переносимым должен быть ваш код? Безусловно, самый простой способ добиться эффекта - использовать саму команду ar
. Чтобы получить желаемый результат:
ar t archive
Существовало много форматов архивов, и все еще существует несколько вариантов общего пользования (в частности, AIX довольно сильно отличается от «остальных»). Существуют разные способы обработки длинных имен файлов. Чтобы точно прочитать архив, вам нужно будет прочитать заголовок, возможно, список строк, пропустить псевдофайл, связанный с определенными символами библиотеки, а затем обработать каждый заголовок файла и пропустить сам файл, повторяя до конца архива. Когда вы прочитаете заголовок, вам нужно будет разделить его соответствующим образом, чтобы выделить только имя.