Я пишу простой редактор кода для языка ассемблера LC3, и у меня возникла небольшая проблема. Ассемблер LC3 выводит основную информацию о состоянии сборки, которую я пытаюсь отобразить в своей программе после ее чтения из файла журнала.Как перенаправить stdout и stderr и сохранить заказ?
Первоначально я пытался использовать систему() для вызова LC3 ассемблера и перенаправить стандартный вывод и стандартный поток ошибок в файл, например так:
system("/pathto/lc3as 1> lc3.log 2>&1");
Он выводит в файл, но не сохраняет порядок выход с ассемблера.
Я придумал уродливую работу, которая сохраняет порядок вывода, но включает в себя гораздо больше файлов ввода-вывода, чем я хотел бы, и я не уверен, будет ли это работать в любой ситуации. В этой заметке мне интересно, есть ли лучшее решение для маршрутизации вывода в мою программу, которая сохраняет заказ.
Что такое ОС? POSIX-подобный, Windows или ..? – 2010-01-09 10:35:39