Re: [問題] 如何用迴圈讀取#define定義的變數

看板C_and_CPP (C/C++)作者 (白色陽巨塔)時間16年前 (2009/05/02 01:05), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串2/2 (看更多)
雖然不行 但有辦法 只要define是連續就可以 ex: #define IDC_EDIT1 200 #define IDC_EDIT2 201 #define IDC_EDIT3 202 for(int i=IDC_EDIT1;i<=IDC_EDIT3;i++) { SetDlgItemText(xxx, i , xxx); } ※ 引述《shujamin (JM)》之銘言: : 假設我定義了以下三個變數 : #define IDC_EDIT1 : #define IDC_EDIT2 : #define IDC_EDIT3 : 我想用迴圈自動讀取它們要怎麼做呢? : 下面這個方法本來以為可以,但還是失敗 : #define VAR(N) IDC_EDIT##N : for (i=1; i<=3; i++) : SetDlgItemText(xxx, VAR(i), xxx); : 他會說不認識"IDC_EDITi" : 謝謝! -- 蔣軍168師的弟兄們:中原野戰軍獨二師 ~ 一三九團三營九連連長谷子地 代表全連問候各位 你們已經給圍死啦 膩膩歪歪打下去 誰都落不著好 我們給各位備了兩樣好吃的 一樣是子彈 一樣是餃子 想打我們奉陪到底 覺著打夠了 把槍舉起來換雙筷子 九連陪著弟兄們一塊坐下來 吃餃子 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.2.143

05/02 01:18, , 1F
……這樣還要#define幹什麼
05/02 01:18, 1F

05/02 02:20, , 2F
總是要給個名字的吧...
05/02 02:20, 2F

05/02 02:21, , 3F
不然一個 magic number 200 寫在那裡大概也不知道是啥吧
05/02 02:21, 3F

05/02 02:24, , 4F
再者以這裡的名字來看多半是個輸入區塊 這個ID別處也要用的
05/02 02:24, 4F

05/02 02:24, , 5F
不過如果是我這樣寫的話我會加個註解說這段設了誰
05/02 02:24, 5F

05/02 02:25, , 6F
不然哪天 #define 或這段 code 改爆了就糟了
05/02 02:25, 6F

05/02 18:28, , 7F
因為只需要頭尾,這樣一來中間就顯得無意義
05/02 18:28, 7F
文章代碼(AID): #19-olo6b (C_and_CPP)
文章代碼(AID): #19-olo6b (C_and_CPP)