提问人:Reeson 提问时间:1/4/2023 更新时间:1/4/2023 访问量:74
在 C 语言中通过命令行参数传递“*”会列出目录中的所有文件
Passing "*" through command line arguments in C lists all files in directory
问:
我正在尝试从命令行参数传递 3 个字符串,目的是将数学方程式作为字符串传递,然后将其转换为数学运算符。int
当我运行时,我得到:正如预期的那样。
但是当我运行时,会导致以下情况发生:./program 1 + 1
argv[0]: ./program , argv[1]: 1, argv[2]: +, argv[3]: 1
./program 1 * 1
argv[2]
argv[1] = 1 argv[2] = file_01 argv[3] = file_02 argv[4] = file_03 argv[5] = file_04 argv[6] = file_05 argv[7] = file_06 argv[8] = 1
这些文件与程序的可执行文件位于同一文件夹中。
所以我无法通过命令行。*
printf("Value stored in argv [2]:%c\n", *argv[2]);
结果是
存储在argv[2]:C
答: 暂无答案
评论
*
*
./program 1 "*" 1
echo "*"
echo *
./program 1 * 1
*