小编Jer*_*tel的帖子

getopt_long() - 使用它的正确方法?

好的,我已经搜索并发现以下两个StackOverflow主题让我朝着正确的方向前进:

C/UNIX的参数解析助手

从命令行将参数传递给C程序

注意:所有代码都是PSEUDO-CODE.将在其工作时发布可编译代码.

但是,我仍然对如何在C中使用getopt_long()感到困惑.我正在编写的程序被定义为具有以下可能的标记(但可以包含您绝对需要的数量,其余用空值填充) ):

id3tagEd filename -title "title" -artist "artist" -year 1991 -comment "comment" -album "album" -track 1
Run Code Online (Sandbox Code Playgroud)

现在,根据我的阅读,我需要利用一个结构来获取长期选项,对吗?如果是这样,我写了一些类似的东西:

struct fields field =
{
    char *[] title;
    char *[] artist;
    char *[] album;
    int year;
    char *[] comment;
    int track;
}


static struct options long_options[] =
{
    {"title", 0, &field.title, 't'},
    {"artist", 0, &field.artist, 'a'},
    {"album", 0, &field.album, 'b'},
    {"year", 0, &field.year, 'y'},
    {"comment", 0, &field.comment, 'c'},
    {"track", 0, &field.track, 'u'},
    {0, 0, 0, 0}
}
Run Code Online (Sandbox Code Playgroud)

现在,根据我收集的内容,我将通过以下方式调用它:

int …
Run Code Online (Sandbox Code Playgroud)

c

20
推荐指数
2
解决办法
4万
查看次数

标签 统计

c ×1