Я пишу простой редактор кода для языка ассемблера LC3, и я столкнулся с небольшой проблемой. Ассемблер LC3 выводит основную информацию о состоянии сборки, которую я пытаюсь отобразить в моей программе после считывания ее из файла журнала.
Первоначально я пытался использовать system () для вызова ассемблера LC3 и перенаправить stdout и stderr в файл, например так:
system("/pathto/lc3as 1> lc3.log 2>&1");
Выводит в файл, но не сохраняет порядок вывода из ассемблера.
Я придумал некрасивую работу, которая сохраняет порядок вывода, но включает в себя гораздо больше файлового ввода-вывода, чем хотелось бы, и я не уверен, будет ли он работать в любой ситуации. На этой ноте мне интересно, есть ли лучшее решение для направления вывода в мою программу, которая сохраняет порядок.