检查 argv[i] 是否存在C++
Checking if argv[i] exists C++
如果我运行了一个C++程序
./program arg1
argv[1] 存在,但是有没有办法检查 argv[2] 是否存在?
是的
,看看argc
的值:
if (argc > 2) {
... use argv[2] ...
}
是的,argv[i]
以 NULL
结尾。 argc
number of arguments
传递给主函数。从以下代码中获取想法。
#include<stdio.h>
int main(int argc, char* argv[]){
int i=0;
while(argv[i]!=NULL){
printf("n %s is argv %d ",argv[i],i);
i++;
}
printf("n");
}
执行:
desktop:~$ gcc main.c -o main
desktop:~$ ./main grijesh thisiscrazy4
这里:
./main is argv 0
grijesh is argv 1
thisiscrazy4 is argv 2
h这里 argv 是 - "./main", "grijesh"," thisiscrazy4", NULL
和 argc
= 3
.
argv[0]
是可用于使用错误语句进行 pint 的可执行文件名称(执行路径).
argv
称为参数向量,argc
称为参数计数器。您也可以使用另一个变量名称。
阅读 main() 函数的完整语法,其中还包括环境变量。
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
学习听力
main
的原型说明了一切:
int main(int argc, char **argv);
这里的第一个参数argc
带有 Number_Of_Arguments(argv[])_Present
的值
你可以反过来尝试。测试argc
的计数,在那里你可以知道argv[n]
的存在。
相关文章:
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 如何检查QList中是否存在值
- 根据某个函数是否存在启用模板
- 地图计数确实很重要,或者只是检查是否存在
- C++中是否存在 std::conditional 的懒惰等价物?
- 无论如何,我可以确定构造函数是否存在吗?
- COM :是否可以查看是否存在对我的某个 COM 对象的进程外引用?我可以释放它吗?
- 堆分配的对象是否存在永不为空的唯一所有者?
- 扩展类中的可选 vir 函数,测试它在运行时是否存在
- 模板化检查是否存在带有参数列表的类成员函数?
- 是否存在包含负号的isdigit函数(过载)
- 如何巧妙地编写两个函数——一个用于检查是否存在解决方案,另一个用于获取所有解决方案
- 检查编译时是否存在静态函数
- 向量是否存在行主要形式?
- 检查 TinyXML 中的元素是否存在
- 检测是否存在具有 C++17 的类成员
- 虚拟继承中是否存在多重继承?
- 我遇到了这个代码片段,不明白. 它递归检查 C++ 字符串中是否存在大写字符
- std::weak_ptr 和相应的 std::shared_ptr 之间是否存在数据竞争?
- 是否存在用于 C 或 C++ 中常见数学运算(例如最小值、最大值和平均值)的可导入库?