好的,我已经搜索并发现以下两个StackOverflow主题让我朝着正确的方向前进:
注意:所有代码都是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 ×1