Cpp автоматически определяет файл для чтения шестнадцатеричных значений и необработанного двоичного содержимого.C++

Программы на C++. Форум разработчиков
Anonymous
Cpp автоматически определяет файл для чтения шестнадцатеричных значений и необработанного двоичного содержимого.

Сообщение Anonymous »

Я пытаюсь создать функцию, которая может автоматически определять шестнадцатеричные значения и необработанные двоичные значения из входного файла. Ввод создается с использованием openssl

Код: Выделить всё

openssl rand -hex 32 > aes256.key
Я создал функцию ниже, чтобы прочитать этот файл и автоматически определить, является ли его шестнадцатеричное значение или необработанный двоичный файл.

Код: Выделить всё

std::vector readBytesFromFile(const std::string &file_path) {
// First, try reading as text to check if it's hex
std::ifstream text_file(file_path);
if (!text_file) {
throw std::runtime_error("Failed to open file " + file_path);
}

std::string content((std::istreambuf_iterator(text_file)),
std::istreambuf_iterator());
text_file.close();

// Remove whitespace/newlines to get clean hex string
std::string cleaned;
for (char c : content) {
if (!std::isspace(static_cast(c))) {
cleaned += c;
}
}

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79815776/cpp-auto-detect-the-file-to-read-hex-values-and-raw-binary-content[/url]

Вернуться в «C++»