gpt4 book ai didi

c - 从系统命令获取错误级别

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:08 24 4
gpt4 key购买 nike

我有一个 C 项目,有时我调用下面的系统命令:

ret_val = system("@ECHO OFF\nFC /A /L /N C:\\tmp\\test.out C:\\bin\\win\\output.txt");

FC 命令基本上比较两个文件并应该返回错误级别。

如果我在命令提示符下调用此命令,我可以简单地通过回显 errorlevel 变量来查看错误。我这里没问题。

我的问题是我想在我的代码中的一个 int 变量中有这个错误级别。我不想在我的终端上看到它,但同时我想要这个变量来分析我的比较结果。此 ret_val 变量始终为 0,这不是我需要的功能。

如何在我的代码中获取 errorlevel 值?

最佳答案

system 命令只执行字符串的第一行,所以它执行 @echo off,这不会改变默认的返回码,你总是得到 0 .

当然可以

  • 将文本粘贴到 .bat 文件中并执行该 .bat 文件
  • 使用命令链:@echo off && FC/A/L/N C:\\tmp\\test.out C:\\bin\\win\\output.txt

但在您的情况下,由于您只有一个命令可以调用,因此只需在没有 @echo off

的情况下调用它
ret_val = system("FC /A /L /N C:\\tmp\\test.out C:\\bin\\win\\output.txt")

system 不需要关闭 echo。只有批处理文件执行默认为详细。系统调用是静默的(它们不打印发出的命令)。

关于c - 从系统命令获取错误级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43388457/

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