【发布时间】:2013-11-29 17:58:58
【问题描述】:
我想知道如何使用内存缓冲区作为 io 流到使用 Qt 的系统命令。
通常你会做一些伪代码,比如:
Exec Command(" command < inputfile > outputfile");
但我想在内存中完成整个操作。
我更喜欢类似的伪代码:
ByteArray input;
ByteArray output;
Exec Command("command name", &input, &output);
答案的具体参考、示例或链接会很棒。我想我只需要一个起点。
提前致谢。
【问题讨论】:
-
去掉了 C 标签,因为 Qt 绝对不是 C。
-
我认为这将是特定于外壳的,例如Bash 或 Csh。此外,假设最近写入了
inputfile,并且您在写入后不久阅读了outputfile,两者都应该在操作系统磁盘缓存中,因此,有效地来自内存。综上所述,理想情况下,您应该避免一起shelling-out,并找到一个可以与命令执行相同操作的库。
标签: c++ qt memorystream buffering