我可以读取两个值的选项在同一时间使用popt库
can i read two values for option at a time using popt library?
我正在编写一个使用popt库读取参数的示例。我的代码如下:
enum
{
INPUT_NAME=1,
SYMBOL
};
int main(int argc, char **argv)
{
char filename[ 128 ], symbol[32];
memset(filename, 0x0, 128);
memset(symbol, 0x0, 32);
struct poptOption opttable[] =
{
{ "file", 'f', POPT_ARG_STRING, filename, INPUT_NAME, "filenames to read", "list of files we need to read" },
{ "symbol", 'r', POPT_ARG_STRING, symbol, SYMBOL, "symbol to view", NULL },
POPT_AUTOHELP
POPT_TABLEEND
};
poptContext options_socket = poptGetContext( NULL, argc, ( const char **)argv, opttable, 0 );
int optionvalue(0);
while( optionvalue > -1 )
{
optionvalue = poptGetNextOpt( options_socket );
if(optionvalue == INPUT_NAME)
{
strcpy(filename, poptGetOptArg( options_socket ));
printf("filename you are giving as input is :%sn", filename);
}
else if( optionvalue == SYMBOL)
{
strcpy(symbol, poptGetOptArg( options_socket ));
printf("symbol you are giving as input is :%sn", symbol);
}
}
return 0;
}
通过使用这段代码,我能够读取每个选项的单个值。是否有任何方法可以使用单个选项获得值列表?
我当前的程序是这样工作的。
sample run to my program: ./popt -f file1.txt file2.txt -r symbol1
OUTPUT:
filename you are giving as input is :file1.txt
symbol you are giving as input is :symbol1
DESIRED OUTPUT:
filename you are giving as input is :file1.txt
filename you are giving as input is :file2.txt
symbol you are giving as input is :symbol1
可以使用popt库吗?
我认为可以通过使用poptGetArgs函数来实现。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 运行同一解决方案的另一个项目的项目
- 从持续时间构造std::chrono::system_clock::time_point
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 为什么具有静态存储持续时间的同一内联变量在包含在 VS2017 编译的两个翻译单元中时会构造和销毁两次
- 图问题:找出两个节点是否在每个节点的O(1)时间和O(2)存储中共享同一分支
- 同一程序的运行时间差异很大,有时达到1000+us
- 对于同一任务,线程的等待时间在 0 到 30000 微秒之间系统地切换
- 我如何仅使用一个Arduino uno才能在同一时间和同一方向上旋转两个步进电动机
- 如何防止在 switch 语句中多次选择同一选项/值
- 有-g和没有-DNDEBUG选项的链接时间很长
- 为什么同一次执行的时间不同
- 在同一优先级队列中创建递增和递减顺序选项
- 在同一列表的while循环中迭代for循环所需的Big-O时间
- 如何在同一选项卡中启动 URL
- 同一类型的多个声明是否会影响编译时间
- 我可以读取两个值的选项在同一时间使用popt库
- OpenGL的平移和旋转在同一时间
- 如何在同一时间弹出2堆栈
- c++游戏-循环和按键在同一时间