gpt4 book ai didi

c - 检查另一个程序的输出的程序

转载 作者:行者123 更新时间:2023-11-30 17:54:02 26 4
gpt4 key购买 nike

我正在组织一场编程比赛。我需要创建一个程序来逐个字符地检查另一个程序(参与者的可执行文件)的输出。要求是:

  • 程序必须平台无关
  • 参与者不得获得输入和正确的输出。参与者所做的就是将其程序的名称传递给检查者。检查器会告诉你答案是否正确,仅此而已。
  • 不得向参与者本人展示参与者程序的输出 - 否则他可能会据此计算出输入。

对于第二部分,是否可以以某种方式将输入和输出存储在可执行文件本身中?我不想从加密文件中读取..这让事情有点不方便..

程序应该像这样工作:

checker.exe question1.exe

Correct answer, congratulations!

Please show this to a volunteer.

我尝试使用标准 C 库中的 popenpclose 函数。

但问题是,在 Linux 中,它会打开一个 shell,显示参与者程序的输出,而根据第三个要求,这不应该发生。

什么是完成此任务的简单方法?提前致谢。

编辑:

我需要将针对每个问题制作的可执行文件专门交给参与者。

最佳答案

是的,很容易不在 shell 中存储信息...只需使用管道。

例如

  $ question | checker

检查器可以打印它是否有效。这一切都发生在内存中。

<小时/>

如果您希望用户能够自己执行此操作,只需将此代码放入脚本文件中,设置该文件,以便用户只能执行和读取权限。然后将脚本设置为以 su 身份运行。然后脚本可以进行检查(即运行检查器 - 或进行比较)。如果需要比较,数据文件可以位于脚本外部,并且用户没有该文件的权限,则他们无法读取数据。

关于c - 检查另一个程序的输出的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15263548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com