Я хотел бы знать, как использовать буферы памяти в качестве потоков io для системной команды, использующей Qt.
Обычно вы делаете что-то вроде псевдокода, например:
Exec Command(" command < inputfile > outputfile");
но я хотел бы сделать всю операцию в памяти.
Я бы предпочел что-то псевдокоде, как:
ByteArray input;
ByteArray output;
Exec Command("command name", &input, &output);
Конкретная ссылка, пример или ссылка на ответ будет потрясающим. Мне просто нужно стартовое место, я думаю.
Заранее спасибо.
Один из способов сделать это — создать отображенные в память входные и выходные файлы и указать полный путь к входным и выходным файлам в обычной команде оболочки — таким образом, он будет эффективно находиться в памяти.
Вы можете создавать / получать к ним доступ программно, взгляните на
Я обнаружил, что вы можете использовать пространство «разделяемой памяти» и использовать его как ссылку на файл. Если у вас есть ссылка на файл, вы можете использовать перенаправление с ним. В любом случае, это одно из решений.