Параллельные данные для последовательных в C / C ++: реализация мультиплекса

0

Я начал работать над реализацией базовой параллельной последовательной преобразователь данных (MUX) в C или C++. В основном, эта программа берет данные из некоторых файлов и показывает их последовательно в одном файле.

Я начал с этого, я искал в Интернете, и я не нашел много информации.
Есть ли какая-нибудь библиотека, которую я могу использовать? Или любые предложения или руководства?
Если у вас есть какая-либо информация, независимо от языка программирования, пожалуйста, поделитесь ею.

  • 0
    Этот вопрос трудно понять / плохо сформулирован. Непонятно, что вы на самом деле пытаетесь сделать. Похоже, вы пытаетесь написать драйвер устройства из заголовка, но из вашего вопроса это звучит так, как будто вы просто пытаетесь преобразовать шестнадцатеричное представление чисел в их двоичное представление. Что это?
  • 0
    Извините за плохо сформированный, английский не мой родной язык. И да, я пытаюсь написать драйвер устройства.
Показать ещё 2 комментария
Теги:
mux
multiplexing

1 ответ

0

Предполагая, что вы хотите открыть много файлов и записать их содержимое в один файл, попробуйте что-то вроде этого:

#include <iostream>
#include <fstream>

using std::ifstream;
using std::ofstream;
using std::cout;
using std::cerr;

int main(void)
{
  // Open the files.
  ifstream file_1("file_001.bin", ios::binary);
  if (!file_1)
  {
    cerr << "Error opening first file.\n";
    return EXIT_FAILURE;
  }
  //...
  ofstream serial_file("serial_result.bin", ios::binary);
  if (!serial_file)
  {
    cerr << "Error opening serial result file.\n";
    return EXIT_FAILURE;
  }

  // Read from the files
  unsigned char byte;
  while (file_1.read(&byte, 1))
  {
    // Write to serial file.
    serial_file.write(&byte, 1);
    // Read byte from next file
    file_2.read(&byte, 1);
    serial_file.write(&byte, 1);
    // Etc.
  }
  return EXIT_SUCCESS;
}
  • 0
    Это предполагает, что оба файла могут быть прочитаны назад и вперед. Это не будет работать, если один файл заблокирован для чтения, в то время как другой файл имеет готовые для чтения байты. Это также предполагает, что оба файла имеют одинаковый размер. Вам нужен более сложный алгоритм.
  • 0
    Это просто основа. Это необходимо проверить для случаев, когда файлы имеют разные размеры, а также для упорядочения байтов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню