teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2023/03/27 01:34

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -24,4 +24,34 @@
24
24
  g:\work>foo --DATA "foo.yaml"
25
25
  data_file = [foo.yaml]
26
26
  ```
27
- ...何の問題もないけども。
27
+ ...何の問題もないけども。
28
+
29
+ [追記]
30
+ > ./airport_manager --DATA="airport-route.yaml" --QUESTION=3 --N=8などのような入力をし、プログラムを実行したいです。
31
+ ```C
32
+ // foo.c
33
+ #include <stdio.h>
34
+ #include <string.h>
35
+
36
+ void parse_commandline(char *argv[]) {
37
+ char* data_file;
38
+ char* eq_pos = strchr(argv[1],'=');
39
+ if ( eq_pos != NULL && strncmp(argv[1], "--DATA", 6) == 0) {
40
+ data_file = eq_pos+1;
41
+ } else {
42
+ fprintf(stderr, "Error: Data file not specified. Please include '--DATA' flag followed by file name.\n");
43
+ exit(1);
44
+ }
45
+ printf("data_file = [%s]\n", data_file);
46
+ }
47
+
48
+ int main(int argc, char* argv[]) {
49
+ parse_commandline(argv);
50
+ return 0;
51
+ }
52
+ ```
53
+ 実行結果
54
+ ```
55
+ g:\work>foo --DATA="airport-route.yaml"
56
+ data_file = [airport-route.yaml]
57
+ ```