Vilfredo KKK, просто заменяешь int на size_t где речь идёт о размере строк или массивов. Заменяешь strncpy на strncpy_s и прокидываешь туда недостающий 4й параметр (размер буфера назчения)
О каком ещё отчёте и метриках идёт речь? О каком тестировании идёт речь?
Какое отношение тут имеет то что у вас там есть ещё какие-то другие пользователи со своими сценариями использования???
При чём тут тег "Тестирование ПО", если, как я понял, под тестированием у вас тут подразумевается "evaluation"/опробация, а не собственно "testing"/тестирование/контроль качества.
А чем ты гарантируешь, что подключение к базе данных работает?
Будешь кидать ошибку при создании объекта, если вдруг нет подключения?
Что будешь делать, если захочешь asyncio?
Правилами запрещено текстовую информацию прикладывать в виде скриншотов и тем более фотографий экрана.
Код необходимо заворачивать в соответствующий тег, чтобы он не рассыпался.
Правила ты должен был прочитать при регистрации.
В общем случае придётся велосипедить. (Если все возможные файлы всеми возможными способами)
Подобной сложности библиотек просто нет и тебе придётся изобретать Adobe acrobat
Формат PDF очень сложный и зачастую файлы на нём тупо не предназначены для редактирования.
(Попробуй для примера загуглить, как распознавать текст на pdf-ке)
Конвертировать HTML шаблон в PDF и обратно.
Исходный шаблон из PDF? Очень сложно, если ты сам этот шаблон внутри файла не спрячешь.
В общем советую определиться с требованиями максимально точно, иначе ответ будет "бесплатных нет" или "таких даже платных нет"
Pragma Games, ну короче у CTS из освобождаемых ресурсов есть:
1. Таймер
2. ManualResetEvent
3. Некий Registration
Так что неуправляемые ресурсы действительно есть, но они и так в принципе рано или поздно должны очиститься, тк на это есть финалайзер.
Но лучше всё-таки вызвать Dispose