回答編集履歴

1

参考コード追記

2020/11/20 11:32

投稿

pepperleaf
pepperleaf

スコア6383

test CHANGED
@@ -41,3 +41,71 @@
41
41
  具体的にどう書き換えるかは、全体の流れを見直す事が必要です。
42
42
 
43
43
  (このコードの流れで書き換えるのはちょっと大変か?)
44
+
45
+
46
+
47
+ 中のwhile() 内について、ちょっと参考コード。こんな感じかという事で。
48
+
49
+ ```C
50
+
51
+ while(cp!=NULL){
52
+
53
+ cp = strtok(NULL,sikiri);
54
+
55
+ if(cp!=NULL&&c==0){
56
+
57
+ strcpy(log[i].server_name,cp); //ここでサーバーの名前を挿入
58
+
59
+ //// ここから 対応するサーバー番号を探す hに設定 (無い場合は? ...)
60
+
61
+ // for(h=0;h<4;h++){
62
+
63
+ // if(strcmp(log[i].server_name, name[h])==0) break;
64
+
65
+ // }
66
+
67
+ }
68
+
69
+
70
+
71
+ if(cp!=NULL&&c==1){
72
+
73
+ strcpy(log[i].result,cp);//ここで結果を挿入
74
+
75
+ if(strncmp(log[i].result,"-",1)==0){ //1."-"かどうか
76
+
77
+ //// 障害が発生した場合には、それを記録 サーバー番号 h
78
+
79
+ // if (!han[h].count) { // ただし、最初に初期化で false としておく
80
+
81
+ // han[h].count = true;
82
+
83
+ // han[h].time = log[i].time
84
+
85
+ // }
86
+
87
+ }else{
88
+
89
+ //// 前回が障害の場合の処理
90
+
91
+ // if (han[h].count) {
92
+
93
+ // kikan=log[i].time - han[h].time;
94
+
95
+ // printf("サーバー%sが故障状態です\n",han[h].handan_name);
96
+
97
+ // printf("log.time is %ld\nhandan is %ld\n",log[i].time,han[h].time);
98
+
99
+ // printTime(kikan);
100
+
101
+ // han[h].count = false;
102
+
103
+ // }
104
+
105
+ }
106
+
107
+ }
108
+
109
+ }
110
+
111
+ ```