我正在尝试使用 VideoCapture。我的代码的一部分如下。
当我运行我的代码时,我得到了这个:
错误!提供的参数不足。
如何通过此代码使用我的视频。我想用 VLC 打开一个流。或者如果有任何其他方式,我想使用。
我搜索了 argv[1] 将是我的视频文件。但我不知道如何显示我的文件以及如何将我的文件定义为此代码。
为了帮助未来的用户,我会做一些改变:
曾是:
LOG_DEBUG("Error! Insufficient parameters provided.");
是:
std::string program(argv[0]);
LOG_DEBUG("Error! Insufficient parameters provided.");
LOG_DEBUG("Please provide a command line argument.");
LOG_DEBUG("Example: " << program << " VIDEO_FILE_NAME");
解释:
在命令行上,当程序被调用时,来自命令行的参数被复制到由argv
. argv[0]
是第一个参数,它是程序本身的文件名。换句话说,argv[i]
for0 <= i < argc
填充在argv
命令行中的字符串数组中。如果重命名了程序的可执行文件,argv[0]
下次运行程序时会有所不同。
该数组argv
的索引从0
到argc-1
。当main
被调用时,这个字符串数组和 argc 被设置。由软件决定要做什么。在这种情况下,您的应用程序测试argc
并发现如果没有提供参数(即 argc < 2),则用户提供的一个用户参数不存在,报告错误并返回。
顺便说一句,main
您还可以使用另一种形式:
int main(int argc, char** argv, char** envp)
argc
= 参数的数量。argv
= 参数字符串envp
数组 = 环境变量数组名称 = 值对
因此,除了简单的命令行参数传递之外,还可以选择编写main
函数来获取环境变量(而不是 shell 变量)并基于此决定细微的操作。选择比比皆是。
但是就目前而言,如果您的代码报告了错误的原因并且提供的建议似乎可以做到这一点,那么它会有所帮助。
祝你好运。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句