方法一:
int num1,num2,result;
char ch1[10],ch2[10],ch3[10];
getdlgitem(idc_edit1)->getwindowtext(ch1,10);
getdlgitem(idc_edit2)->getwindowtext(ch2,10);
num1=atoi(ch1);
num2=atoi(ch2);
result=num1+num2;
itoa(result,ch3,10);//將計算結果轉換為字元,十進位制
getdlgitem(idc_edit3)->setwindowtext(ch3);
方法二:
使用uint getdlgitemint(int nid,bool *lptrans=null,bool bsigned=true)函式,該函式功能為獲取控制項中裡面字串並轉換成int型別返回。
引數1:控制項id,
引數2:接收錯誤資訊
可能出現的錯誤資訊有:
1.id無效,並且超過指定大小,比如說:id為12345677,這個就不行.
2.輸入不能解析為乙個int型別的,比如輸入:"bvbvbvbv","3.5666",
當然後面可以解析為乙個浮點型,在這裡取得的值為3,但是還是會有錯誤資訊
如果不指定第二個引數,就不會獲得任何錯誤資訊,這個引數很有用的,對輸入的判斷是否可以解析為int型別或者是否有效,很有用的,我們經常有這個引數來判斷使用者的輸入是否合法
引數3:預設為true,主要是針對"-123",像這樣的字元,它可以把前面的"-"解析為負號,那麼就是標準的int型別了,如果設定為false,那麼它不可以有
負數,因為在這裡的"-"號,被認為是不合法的
舉例:bool flag;
uint ui=getdlgitemint(idc_edit1,&flag,true);
cstring cs;
cs.format("%d,%d",ui,flag);
messagebox(cs);
方法三:
使用uint getdlgitemtext(hwnd hdlg, int niddlgitem, lptstr lpstring, int nmaxcount)函式 ,該函式功能為獲取對話方塊中指定控制項的標題或文字,獲取完之後然後利用_ttoi/_tcstoul/_ttof()/_tcstod()轉換一下即可。
引數1:hdlg 視窗的控制代碼。
引數2:niddlgitem 指定控制項的識別符號(id)。
引數3:lpstring 指向用於接收獲取結果的緩衝區的指標。
引數4:nmaxcount 指定允許拷貝到上述緩衝中的最大字元數(按 tchar 字元型別),如果字串的長度(包含結束空字元)大於指定的最大字元數,則會被截斷。
返回值:
如果函式呼叫成功,返回值為拷貝到緩衝區中的 tchar 字元個數(不包括結束空字元)。
如果函式呼叫失敗,返回值為 0 。要獲取更多錯誤資訊,請呼叫 getlasterror 函式。
說明 如果字串的長度大於緩衝區的長度,則會被截斷,並以空字元結束。getdlgitemtext 函式向控制項傳送一條 wm_gettext 訊息。在 ansi 版本中,長度指的是位元組數,在 unicode 版本中,長度指的是字元的個數。
系統要求如下:
標頭檔案:在winuser.h中定義,需包含windows.h檔案
庫檔案:user32.lib
VC中EditCtrl的自動換行
在vc中使用edit控制項顯示內容時,常常需要對顯示的內容進行換行,一般採用關聯乙個cstring變數的方式,然後在需要換行的地方將cstring的關聯變數加上 r n 注意必須是換行回車 r n 只加 n 是不行的。而且還有乙個需要注意的是需要將控制項屬性multiline設為true,否則也不會...
qt 獲取QString 中的數字
比如qstring str 123你好456你好 我們要從這個str中提取出 123456 qstring str 123你好456你好 qstring tmp for int j 0 j str.length j 這樣tmp中存放的就是 123456 聽說用正規表示式qregexp也可實現。d 非...
C foreach 中獲取索引index的方法
在c 開發中往往使用foreach 迴圈語句 來代替for迴圈語句。foreach 比 for 更加簡潔高效。foreach foreach var item in arr for for int i 0 i 顯然 for語句直接就存在索引變數,通過索引獲取值。但在實際操作中,使用foreach 有...