Не ищите альтернативу Java. Язык проще, чем C, намного более управляемый с точки зрения дурацких ошибок новичка (ваш случай). К тому же, если вдруг соберетесь работать программистом, вероятность найти работу на C и C++ значительно меньше, чем на Java.
import java.io.FileInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class LsZip {
public static void main(String[] args) throws Exception {
byte[] zipBytes = ...;
ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(zipBytes));
ZipEntry entry;
while ((entry = zis.getNextEntry()) != null) {
// здесь делайте то, что вам требуется с entry.getName()
}
}
}