/
cyberash-dev
/
vsd2svg
Обзор
Документация
Войти
/
cyberash-dev
/
vsd2svg
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/cli.cpp
47 строк
1 KB
cyberash
initial commit
18 дек 2024, 15:12
18 дек 2024, 15:12
2f0b4db
Код
Авторство
О чём код?
#include <iostream> #include <fstream> #include <vector> #include <string> #include "converter.cpp" int main(int argc, char* argv[]) { if (argc < 3) { std::cerr << "Использование: " << argv[0] << " <file.vsd> <output.svg>\n"; return 1; } std::string filename = argv[1]; std::ifstream file(filename, std::ios::binary | std::ios::ate); if (!file.is_open()) { std::cerr << "Не удалось открыть файл: " << filename << "\n"; return 1; } std::streamsize fileSize = file.tellg(); if (fileSize < 0) { std::cerr << "Ошибка определения размера файла.\n"; return 1; } file.seekg(0, std::ios::beg); std::vector<unsigned char> buffer(static_cast<size_t>(fileSize)); if (!file.read(reinterpret_cast<char*>(buffer.data()), fileSize)) { std::cerr << "Ошибка чтения данных.\n"; return 1; } const unsigned char* data = buffer.data(); auto result = convertVSDBytesToSVGString(data, buffer.size()); std::ofstream outFile(argv[2], std::ios::out | std::ios::trunc); if (!outFile) { std::cerr << "Не удалось открыть файл для записи.\n"; return 1; } outFile << result; return 0; }