[問題] 自動產生不同的定義值?
問題(Question):
假設的情況:(C語言)
情況1 情況2
typedef enum ResourceID { typedef enum ResourceID {
ID1 = 3, ID1 = 4,
ID2, ID2,
ID3=-1, ID3,
ID4=-1, ID4=-1,
} }
當程式啟動的時候讀取某個檔案
如果如讀到的數值是3 則去修改第三個ID以後的enum值
如果如讀到的數值是4 則去修改第四個ID以後的enum值
簡單來說
問題就是程式啟動才會知道某個數值,
然後依照某個數值去產生不同情況的enum定義
要怎麼做到呢?
補充:
假設有A B C module, A 負責初始化,
B C 都會用到ID1~4的值, 原本是利用寫死定義別名, 因此很方便,
但是想更改為"執行期間"讀取一個檔案的設定值來改變初始化的值,
而這個ID1~4的值仍然是B C module要用的,
如果原本用enum的話A B C都要include檔案,但是不需要初始化去改值
但是改用struct的話,變成B C還要自己初始化去改值,有點多此一舉?
想說是否有無更方便的方式
因為設定值式固定幾種變化而已,
或者是否有辦法在程式中定義那幾種變化造成不同的ID值,
然後再決定要用哪個呢?
餵入的資料(Input):
從檔案讀取一個數值
預期的正確結果(Expected Output):
會產生不同的eunm
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.49.62
推
11/19 22:20, , 1F
11/19 22:20, 1F
→
11/19 22:22, , 2F
11/19 22:22, 2F
→
11/19 22:23, , 3F
11/19 22:23, 3F
→
11/19 22:24, , 4F
11/19 22:24, 4F
推
11/19 22:26, , 5F
11/19 22:26, 5F
→
11/19 22:30, , 6F
11/19 22:30, 6F
→
11/19 22:31, , 7F
11/19 22:31, 7F
→
11/19 22:33, , 8F
11/19 22:33, 8F
→
11/19 22:41, , 9F
11/19 22:41, 9F
→
11/19 22:41, , 10F
11/19 22:41, 10F
→
11/19 22:41, , 11F
11/19 22:41, 11F
→
11/19 23:06, , 12F
11/19 23:06, 12F
→
11/19 23:11, , 13F
11/19 23:11, 13F
→
11/19 23:12, , 14F
11/19 23:12, 14F
→
11/19 23:13, , 15F
11/19 23:13, 15F
→
11/19 23:13, , 16F
11/19 23:13, 16F
推
11/19 23:23, , 17F
11/19 23:23, 17F
→
11/19 23:25, , 18F
11/19 23:25, 18F
→
11/19 23:25, , 19F
11/19 23:25, 19F
→
11/19 23:26, , 20F
11/19 23:26, 20F
→
11/19 23:26, , 21F
11/19 23:26, 21F
→
11/19 23:30, , 22F
11/19 23:30, 22F
→
11/19 23:30, , 23F
11/19 23:30, 23F
→
11/19 23:47, , 24F
11/19 23:47, 24F
→
11/19 23:48, , 25F
11/19 23:48, 25F
推
11/19 23:59, , 26F
11/19 23:59, 26F
→
11/20 00:02, , 27F
11/20 00:02, 27F
→
11/20 00:08, , 28F
11/20 00:08, 28F
→
11/20 00:13, , 29F
11/20 00:13, 29F
→
11/20 00:14, , 30F
11/20 00:14, 30F
→
11/20 00:15, , 31F
11/20 00:15, 31F
→
11/20 00:18, , 32F
11/20 00:18, 32F
內文多一段補充段落...
※ 編輯: paulyanzi 來自: 114.42.49.62 (11/20 00:28)
推
11/20 00:28, , 33F
11/20 00:28, 33F
→
11/20 00:29, , 34F
11/20 00:29, 34F
推
11/20 00:34, , 35F
11/20 00:34, 35F
→
11/20 00:41, , 36F
11/20 00:41, 36F
→
11/20 00:47, , 37F
11/20 00:47, 37F
→
11/20 00:51, , 38F
11/20 00:51, 38F
→
11/20 00:56, , 39F
11/20 00:56, 39F
→
11/20 00:57, , 40F
11/20 00:57, 40F
推
11/20 01:18, , 41F
11/20 01:18, 41F
推
11/20 01:37, , 42F
11/20 01:37, 42F
→
11/20 01:38, , 43F
11/20 01:38, 43F
※ 編輯: paulyanzi 來自: 114.42.54.233 (11/20 08:35)
→
11/20 08:46, , 44F
11/20 08:46, 44F
→
11/20 08:47, , 45F
11/20 08:47, 45F
→
11/20 08:47, , 46F
11/20 08:47, 46F
→
11/20 08:48, , 47F
11/20 08:48, 47F
→
11/20 08:48, , 48F
11/20 08:48, 48F
→
11/20 08:55, , 49F
11/20 08:55, 49F
→
11/21 00:59, , 50F
11/21 00:59, 50F
→
11/21 09:32, , 51F
11/21 09:32, 51F
→
11/21 13:07, , 52F
11/21 13:07, 52F
→
11/21 13:07, , 53F
11/21 13:07, 53F
→
11/21 13:07, , 54F
11/21 13:07, 54F