gpt4 book ai didi

c - 使用标志从命令行读取值

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:03 25 4
gpt4 key购买 nike

所以我试图在击中标志后从命令区域读取值。我不想使用 scanf 因为它不应该暂停。它应该接受如下参数: 运行-p 60 10其中 60 是百分比值,10 是进程数。如何在不使用暂停用户输入的 scanf 的情况下将它们读入变量?我是否需要使用 argv[2]argv[3] 为它们赋值?我想要整数值,而不是字符串。

到目前为止,这是我的代码:

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <ctype.h>
#include <unistd.h>


bool Gamble(int percent);




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

int c;
int pflag = 0;
int vflag = 0;
int percent;
int processes;

while ((c = getopt (argc, argv, "-p-v: ")) != -1)
{
switch (c)
{
case 'p':
pflag = 1;
percent = argv[2];
//scanf("%d", &percent);
break;
case 'v':
vflag = 1;
break;
default:
processes = argv[3];
}

}

printf("%d\n", percent);
printf("%d\n", processes);




Gamble(percent);


return 0;

}

附言Gamble 只是一个接受百分比、生成随机数并根据使用随机生成器是否达到通过的百分比返回“成功”或“失败”的类。

最佳答案

您可以使用 sscanf 从字符串中读取数值。

关于c - 使用标志从命令行读取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19056455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com