gpt4 book ai didi

c - c语言.exe文件命令的使用

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:09 25 4
gpt4 key购买 nike

几个月前,我写了一个批处理(windows 批处理文件 .bat)代码,它获取一些 .exe 文件并使用它们的命令来做不同的事情。例如编码音频,视频等...现在我想要同样的东西但是想用C语言来做。

set var = "Video"
ffmpeg -i %var%.mkv -f wav -| neroAacEnc -ignorelength -lc -q 0.4 -if - -of %var%-Audio.aac

此代码在 Windows 批处理文件中运行良好(假设我在同一文件夹中指定了文件。)

但是现在我想通过C语言来做到这一点。好吧,我知道使用

system("ffmpeg -i Video.mkv -f wav -| neroAacEnc -ignorelength -lc -q 0.4 -if - -of Video-Audio.aac");

将适用于 C 语言,但缺点是我不能在利用 ffmpeg 和 neroAacEnc 的命令/参数时使用变量。那么有没有办法绕过它呢?
(此外,我将使用其他.exe文件以及x264.exe和mkvmerge.exe,所以如果有人能告诉我如何在C语言中自由使用外部.exe文件参数,我将不胜感激。)

最佳答案

char *var="Video"
char cmd[512];
sprintf(cmd, "ffmpeg -i Video.mkv -f wav -| neroAacEnc -ignorelength -lc -q 0.4 -if - -of %s-Audio.aac", var);
system(cmd);

你可以创建多个变量

char *var="Video"
char *app="ffmpeg";
char cmd[512];
sprintf(cmd, "%s -i Video.mkv -f wav -| neroAacEnc -ignorelength -lc -q 0.4 -if - -of %s-Audio.aac", app, var);
system(cmd);

关于c - c语言.exe文件命令的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20395609/

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