在 Windows 上通过 c 程序执行命令

Posted

技术标签:

【中文标题】在 Windows 上通过 c 程序执行命令【英文标题】:Executing command through a c program on Windows 【发布时间】:2014-03-18 16:45:51 【问题描述】:

我想知道如何在 windows 操作系统上执行 c 程序中的命令。 更具体地说,如何编写一个不会打印输出但直接进入命令提示符并在那里执行的 c 程序?请帮帮我

【问题讨论】:

困惑。您是说要在命令提示符下运行 C 命令吗? 您确定不需要批处理文件吗? 我想将 c 程序的输出发送到命令提示符 并立即执行还是稍后运行? 【参考方案1】:

我认为您需要在 C 代码中使用 system() 命令。 例如:

system("pause");

其中“pause”是要在cmd中执行的命令。

参考:http://www.cplusplus.com/reference/cstdlib/system/

我希望你的问题是正确的。

【讨论】:

@julius skrisa 我有一个小小的疑问,如果我想使用的命令是这样的“暂停”暂停“暂停”我必须做什么?请帮我解决这个问题 如果您的意思是在命令字符串中使用 qoutes.. 您需要转义它们。检查这个:answer【参考方案2】:

我不确定我是否正确理解了这个问题。但如果我这样做了,您正在寻找 system() 函数。

【讨论】:

是的,这就是我要找的,但我想使用的命令中有“所以,该怎么办? @user3434140 使用\"。喜欢system("cd \"New Folder\""); 看到这个wikipedia aritcle。【参考方案3】:

我怀疑您所描述的是 Linux/Unix 中 shell 的反引号。

但是,我不知道如何在 Windows 中执行此操作。

Unix方式

myprompt>  `./a.out`

如果 C 程序基本上是:printf("ls -l .\n");,那么这应该列出文件。 这是你想要的吗?

就像我说的,我不知道如何在 Win Cmd Prompt 中执行此操作,但也许这可以澄清您的问题。


看来你可以试试:

C:\MyDir> MyProgram.exe | cmd.exe /C

【讨论】:

以上是关于在 Windows 上通过 c 程序执行命令的主要内容,如果未能解决你的问题,请参考以下文章

Windows批处理 调用程序后 不等待子进程 父进程继续执行命令

在 Windows 上通过 php 执行() cordova 命令

查找将从 Windows 中的命令行执行的程序的路径

windows下C与C++执行cmd命令并实时获取输出

查找将从Windows命令行执行的程序的路径

windows下C与C++执行cmd命令并实时获取输出