我想在两个有点敏感的字符串(不是非常关键字)上调用外部进程(diff
)。这就是为什么我不希望将它们存储为未加密的光盘上的文件。但是,diff
只接受文件名(嗯,这两个文件中的一个可以作为标准输入,但这对我没有帮助。)
所以我有了将数据写入QTemporaryFile
的想法,它会在超出范围时自动删除文件。根据平台和配置,QTemporaryFile
将仅存储在RAM中。但是,由于无法保证这一点,我想通过在删除之前清零内容来安全地删除文件。在diff
运行时我不需要隐藏其他进程的文件(我不是那么迂腐),但我不希望任何进程能够在之后读取文件
我的想法在这里是正确的方法吗?您是否知道通过不使用文件来调用diff
的另一种方式?
也许有一种可移植的方式来通过命名管道? (我只知道UNIXoid系统上的mkfifo
)。也许Qt甚至有一些解决方案吗?谷歌搜索时,我发现QLocalSocket
似乎不是正确的选择。
我需要可移植的解决方案,特别是我想支持Linux和Windows 7;当我指向一些原生解决方案时,请考虑这一点。