【发布时间】:2021-10-10 04:24:53
【问题描述】:
所以基本上我把这个项目带到了学校,我们需要将int 参数传递给argv[]。该项目在 C.
我们不能使用string.h
我尝试将argv[] 重新输入为int,但由于它只是一个指针,它不起作用。
这是我的代码:
if(argv[1][0] == '1'){
printf("Hodnota LEVEL je 1");
}
else if(argv[1][0] == '2'){
printf("Hodnota LEVEL je 2");
}
如您所见,我目前正在检查 argv[] 是否等于 char '1' 或 '2' 这不是我想要的。
我想到的唯一一件事就是用一些 char 变量替换“1”和“2”,然后将其重新转换为 int。在这个过程之后,我可以检查它是int 1 还是int 2
还有其他方法可以解决我的问题吗?
【问题讨论】:
-
也许使用
strtol()(原型在<stdlib.h>):int arg1 = strtol(argv[1], NULL, 10); -
您可以使用
argv[1][0] - '0'将单个字符串数字转换为int。如果数字可以有多个数字,则使用循环和简单的数学来形成完整的整数。 -
nit:string.h 不是库。它是一个标题。确保您了解其中的区别。