[問題] macro/config讀取進struct問題

看板C_and_CPP (C/C++)作者 (阿斯拉)時間13年前 (2013/05/22 17:42), 編輯推噓3(304)
留言7則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我的標題可能不夠清楚 但是因為我真的不曉得怎麼簡短的描述這個問題= = 以下是我想要做的事情 我的code有數個structure如下 struct mystrct1 { int A; int B; int C; } struct mystrct2 { int A; int B; int C; } struct mystrct3 { int A; int B; int C; } 然後我有一個config.txt內容如下 @mystrct1 A=10 B=23 C=2 @mystrct2 A=4 B=3 C=7 @mystrct3 A=4 B=3 C=7 想請問如何快速的讀取config檔存進我的struct裡面 想作成類似macro的形式但我知道macro不能傳變數的值進去 最暴力的方式應該是 先做scanf後再比對string的值如下 if (strct=="mystrct1"&&fld=='A') mystrct1.A = buf; 但是現在我有非常多個structure及field再加上struct裡還有struct... 實在不願意這樣一個一個去刻 所以上來求助有何快速的做法呢感謝回復 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 問題或許描述的不夠詳盡 若有不清楚的地方請告訴我我會再補充 再次謝過各位了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.94.223 修錯字 ※ 編輯: abcsimps 來自: 114.24.94.223 (05/22 17:43)

05/22 17:45, , 1F
寫一個程式來產生parser code
05/22 17:45, 1F

05/22 17:49, , 2F
謝謝樓上的回應 可以講得詳細一點嗎
05/22 17:49, 2F

05/22 18:12, , 3F
就是手寫 if(strct=="mystrct1"&&fld=='A') 很煩
05/22 18:12, 3F

05/22 18:12, , 4F
但你可以寫支程式,讀入header然後輸出上面的程式碼
05/22 18:12, 4F

05/22 18:12, , 5F
然後把這些程式碼包進你的專案中
05/22 18:12, 5F

05/22 18:15, , 6F
不然就不要用C,改用java或C#之類有reflection的語言
05/22 18:15, 6F

05/22 18:31, , 7F
哦哦....原來如此!!感謝回復
05/22 18:31, 7F
文章代碼(AID): #1Hd9Bkv6 (C_and_CPP)
文章代碼(AID): #1Hd9Bkv6 (C_and_CPP)