【问题标题】:Command-line arg to int with atoi in C在 C 中使用 atoi 将命令行 arg 转换为 int
【发布时间】:2014-04-27 09:38:15
【问题描述】:

你好,我写了一个程序,用法如下:

./borlc 2 -compress file1.txt file2.txt

第一个参数(2),我需要将它存储在一个int中,所以我尝试了以下操作:

int t;
t = atoi(argv[1]);

但是,我在此遇到了分段错误。有没有更好的方法来做我想做的事?

【问题讨论】:

  • 分段错误,他写道
  • 在调用atoi(argv[1])之前确保argc > 1。可疑参数未正确传递,argc == 1 和代码在做atoi(NULL)。

标签: c string int user-input


【解决方案1】:

确保你的主函数定义正确并检查你得到了多少参数。

int main(int argc, char *argv[])
{
    if(argc < 4)
    {
        printf("Parameter is missing");
        return 0;
    }

    int t;
    t = atoi(argv[1]);
}

【讨论】:

    猜你喜欢
    • 2015-01-11
    • 1970-01-01
    • 2015-01-31
    • 2013-10-19
    • 2020-06-27
    • 2012-10-13
    • 1970-01-01
    相关资源
    最近更新 更多