cのgetoptを使用したオプション
-
29-10-2019 - |
質問
サブオプションを文字列に入れて、ファイルを読むためのファイル名として使用できるようにしたいです。
char *nvalue = NULL;
char *dvalue = NULL;
char *input = NULL;
char inputfilename[] = "\"";
int ar;
int main(int argc, char *argv[])
{
while ((ar = getopt(argc, argv, "hn:d:i:")) != -1)
switch (ar)
{
case 'h':
printf("something");
break; /* added */
case 'n':
nvalue = optarg;
if (isdigit(nvalue))
stop = atoi(nvalue);
else
printf("something\n");
break; /* added */
case 'd':
dvalue = optarg;
if (!strcmp(dvalue, "FCFS") || !strcmp(dvalue, "SSTF") ||
!strcmp(dvalue, "C-SCAN") || !strcmp(dvalue, "LOOK"))
;
else
printf("Invalid type of disk scheduling policy entered.\n");
break; /* added */
case 'i':
input = optarg;
strcpy(inputfilename, optarg);
printf("Filename :%s\n", inputfilename);
break;
}
/* ... */
}
入力した場合、コマンドラインで:
./foobar -i hello
次に、次のようなファイルを読むことができるはずです。
FILE *file = fopen(inputfilename, "r" );
助言がありますか?答え?ありがとう!
正しい解決策はありません
所属していません StackOverflow