【发布时间】: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 个命令行参数 ;-)