【问题标题】:Capture command line argument and store it捕获命令行参数并存储它
【发布时间】:2016-04-14 09:05:13
【问题描述】:

我正在尝试捕获命令行参数并将其存储为字符串,但是当我尝试将其转换为 int 时出现编译器错误:

错误是:初始化从没有强制转换的指针生成整数 [默认启用] 字符测试 = argv[1];

#include <stdio.h>

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

char test = argv[1];
printf("%c\n", test);

return 0;
}

【问题讨论】:

  • 我正在尝试捕获命令 -f
  • 编译器是对的,试试char *test = argv[1]; printf("%s\n", test);
  • argv 是 char 类型的两级指针。因此argv[1]是一个char类型的1级指针,不能存储在简单的char中。
  • 请确保使用 argc 检查您是否确实有至少 1 个命令行参数 ;-)

标签: c command-line-arguments


【解决方案1】:

argv[1] 持有一个字符串,您正试图将其存储在字符变量中,您需要的是一个字符指针

char *test = argv[1];

打印出来

printf("%s\n", test);

【讨论】:

    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2014-01-21
    相关资源
    最近更新 更多