gpt4 book ai didi

C:带有字符串的命令行参数

转载 作者:行者123 更新时间:2023-11-30 17:21:52 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,该程序将字符串作为命令行参数,然后通过将字符串作为输入的函数(str_to_int)运行所述参数。但是,当我尝试编译该程序时,我收到一条警告:

initializing 'char *' with an expression of type 'int' [-Wint
conversion]
char* str = atoi(argv[1]);
^ ~~~~~~~~~~~~~

当我运行该程序时,出现段错误我已经对 str_to_int 进行了很多测试,所以我很确定问题出在命令行程序上。这是它的代码。

#include "hw3.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char *argv[])
{
char* str = atoi(argv[1]);
printf("%d\n", str_to_int(str));
return 0;
}

谁能告诉我我做错了什么?谢谢。

最佳答案

这就是您所需要的,但如果您省略命令行参数,它会崩溃。

{
printf("%d\n", str_to_int(argv[1]));
return 0;
}

这更稳健:

int main(int argc, char *argv[])
{
if (argc == 1)
printf("missing parameter.");
else
printf("%d\n", str_to_int(argv[1]));

return 0;
}

关于C:带有字符串的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28157428/

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