幽溪左畔 发表于 2022-12-6 10:36

C如何读取命令行参数?

本帖最后由 幽溪左畔 于 2022-12-6 15:21 编辑

之前有用过redis的控制台模式 可以连续解析用户指令以及后面的参数 请问如何用C实现类似的效果

pzx521521 发表于 2022-12-6 11:23

for 循环
std in

三滑稽甲苯 发表于 2022-12-6 11:47

main(argc, argv)
第一个参数是传入的参数个数,第二个是具体参数

幽溪左畔 发表于 2022-12-6 14:10

三滑稽甲苯 发表于 2022-12-6 11:47
main(argc, argv)
第一个参数是传入的参数个数,第二个是具体参数

这样的话 是不是要重复运行程序? 可以运行一次程序 然后持续解析用户指令吗

薛定谔消失的弦 发表于 2022-12-6 14:15

main(int argc,char *argv)这个函数里提供这几个参数选项,第一个是传入参数个数第二个是具体获取的参数(0为本程序名)

Broadm 发表于 2022-12-6 14:23

程序入口,main函数本身就可以接受命令行参数
#include <iostream>
int main(int argc, char* argv[])
{
        if (argc > 0)
        {
                std::cout << "命令行参数如下:\n";
                for (size_t i = 0; i < argc; i++)
                {
                        std::cout << "argv[" << i << "]: " << argv << "\n";
                }
        }
        std::cin.get();
        return 0;
}

https://s1.xptou.com/2022/12/06/638edf7b7255f.png

hrpzcf 发表于 2022-12-6 15:16

运行程序前:int main(int argc, char* argv[]),argv 存放的就是使用命令行运行程序时输入的参数,argc 是 argv 里 char* 的个数
程序运行中:scanf 等函数读取用户输入,自己实现判断用户输入内容的函数,没啥高深的地方

三滑稽甲苯 发表于 2022-12-6 20:35

幽溪左畔 发表于 2022-12-6 14:10
这样的话 是不是要重复运行程序? 可以运行一次程序 然后持续解析用户指令吗

按你的意思就不叫作命令行参数了,是控制台输入,那就scanf
页: [1]
查看完整版本: C如何读取命令行参数?