gpt4 book ai didi

c++ - 如何从主 C++ 之外的 argv[] 获取输入

转载 作者:搜寻专家 更新时间:2023-10-31 00:40:09 25 4
gpt4 key购买 nike

我目前正在尝试从命令行中使用 argv[] 获取数字。换句话说,我试图从

获得 2

./计算器-q 2

我目前的设置是这样的:

#include <iostream>
using namespace std;

int check_q(char* argv[]){
float q, qa;
if(atoi(argv[1]) == q){
qa = atof(argv[2]);
}
if(atoi(argv[3]) == q){
qa = atof(argv[4]);
}
if(atoi(argv[5]) == q){
qa = atof(argv[6]);
}
if(atoi(argv[7]) == q){
qa = atof(argv[8]);
}
return qa;
}

int main(int argc, char *argv[]){

float qa = 0;
check_q(argv);
cout << qa << endl;

return 0;}

对我做错了什么有什么想法吗?

最佳答案

您不是通过检查 argc 的值来查看有多少参数传递给了程序。如果您只传递两个参数,那么访问 argv[3] 将产生未定义的行为;所以你必须先检查参数的数量。

此外,如果您要查找值为 "-q" 的参数,请与 "-q" 进行比较:

if (std::string(argv[1]) == "-q")

您将其转换为数字并与未初始化的变量进行比较,这不会做任何有用的事情。

关于c++ - 如何从主 C++ 之外的 argv[] 获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15193272/

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