问题标签 [argv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在 C++ 中将字符串转换为 argv
我有一个包含要使用 execv 执行的命令的 std::string,将其转换为 execv() 的第二个参数所需的“char *argv[]”的最佳“C++”方法是什么?
澄清:
c++ - 转换 std::vector到 c 风格的参数向量 arv
我想准备一个老式的参数向量(argv)在函数中使用
int execve(const char *filename, char *const argv[],char *const envp[]);
我尝试使用 stl::vector 类:
最后我将向量传递给 execve()
execve("bashscriptXY", &argv[0], NULL)
代码编译但 ArgV 被 execve()“忽略”。所以这似乎是错误的,我正在尝试。我应该如何使用 c++ 以有效的方式构建 argV?
shell - 如何从 C shell 中的命令行输入设置多个单词变量
我正在编写一个脚本来搜索文件中的模式。例如
脚本名模式 file1 file2 filenN
我使用 for 循环遍历参数 argv,如果提供了所有参数,它就可以完成这项工作。但是,如果只提供一个参数(在这种情况下为 pattern ),它应该要求输入文件名或名称,然后检查模式。我如何设置变量以包含从命令行输入的多个单词,以便我可以在循环中使用它。或者甚至更好的是可以将命令行输入分配给 argv,所以我不必使用相同的循环两次,因为它是不同的变量名(一个循环通过 argv,如果超过 on 参数,第二个循环通过如果仅提供一个参数,则为文件名变量)。以下是我的脚本中导致问题的部分:
c - 确定 argv[1] 中的字符串是否以字符或数字开头(C 编程)
我正在用 C 语言编写一个带有两个参数的小型应用程序。一个是文件名,另一个是数字,它们可以随机指定。
./主文件名 12345
和
./main 12345 文件名
两者都应该工作。
当我知道文件名以字符开头时,如何轻松确定哪个是哪个?
c++ - 在 C++ 中解析 argc 和 argv
我想学习更多 C++... 通常我会创建一个 for 循环来解析 argv,最后我会得到一堆 C 风格的字符串。我想在 C++ 中做类似的事情,但最好不要从 /proc/whatever 中读取。起初,我试图将 C 风格的字符串转换为 C++ 风格的字符串,但没有结果......令人沮丧的是,SO 上的每个人似乎都想知道如何走另一条路,这就是 c_str() 的用途. 有什么好的 C++ 方法来做到这一点(即解析 argv)?
另外,请注意,我正在寻找一个 unix 风格的答案,我所见过的所有转换技术都与 Windows 有关,我对此完全感兴趣。
c - (*++argv)[0] 和 while(c = *++argv[0]) 之间的区别
我有以下代码片段:
包含以下表达式:
括号中的这个表达式(*++argv)[0]
与while(c = *++argv[0])
没有括号的表达式有什么不同吗?
如果是这样,怎么做?是否(*++argv)
意味着指向下一个参数的指针,是否意味着指向*++argv[0]
当前 char 数组中下一个字符的指针?
c++ - “argv[0] = name-of-executable” 是公认的标准还是只是一种常见的约定?
main()
在 C 或 C++ 应用程序中传递参数时,将argv[0]
始终是可执行文件的名称?或者这只是一个常见的约定,不能保证 100% 的时间是正确的?
c - 创建指向文件的指针数组
我将如何在 C 中创建一个文件指针数组?
我想创建一个指向 main 参数的文件指针数组......比如 a1.txt、a2.txt 等......所以我会运行./prog arg1.txt arg2.txt arg3.txt
让程序使用这些文件。
那么 main 的论点是char **argv
从 argv,我想创建文件/文件指针数组。这就是我到目前为止所拥有的。
c - 在 C 中使用 argv?
对于作业,我需要为我的 C 程序提供命令行参数。我之前(在 C++ 中)使用过 argc/argv 没有问题,但我不确定 C 风格的字符串是否会影响它的工作方式。这是我的主要内容的开始:
所以我将我的程序称为“program.exe -e myargstuff”,但我得到了“错误:错误用法...”输出,即使我的 printf() 告诉我 argv[1] 是“-e”。请帮忙?谢谢!
c++ - 为什么要检查 (*argv == NULL)?
在我目前正在学习的数据结构课程中,我们的任务是用 C++ 编写一个网络爬虫。为了让我们领先一步,教授为我们提供了一个从给定 URL 获取源代码的程序和一个简单的 HTML 解析器来去除标签。该程序的主函数接受参数,因此使用 argc/argv。用于检查参数的代码如下:
其中“选项”已使用 argv[1] 中的开关填充,而 argv[2] 及更高版本具有剩余参数。我理解的第一个块很好,如果开关等于字符串,则根据开关做任何事情。我想知道最后一个 if 块的目的是什么。
可能是我的 C++ 有点生疏,但我似乎记得 *argv 等同于 argv[0],基本上意味着它正在检查以确保参数存在。除了我的印象是 argv[0] 总是(至少在大多数实现中)包含正在运行的程序的名称。我突然想到,如果 argc 等于 0,则 argv[0] 可能为空,但在 Google 上搜索我找不到一个确定这是否可能的帖子。
所以我转向你。最后的 if 块检查到底是什么?
编辑:我已经使用所选答案的评论中提供的推理,即有可能故意导致 argv[0] 变为 NULL,或者基于特定于平台的 main 实现变为 NULL。