2009-06-15 11 views
0

こんにちは私は、vC++ 6.0でMFCアプリケーションを開発しています。EditBox1に1つのint変数(m_iEdit1)を作成し、EditBox2に1つのCString変数(m_strEdit2)を作成しました。私は2つのeditboxが空であってはならないという条件を与えたいと思っていました。 (m_iEdit1 == "")
return; (m_strEdit2 == "")
return;cppのデータ型

しかし、第一の条件は、私はエラー エラーC2446なります、ここでは動作しません:「==」:「int型」から「のchar *」から変換なしを

はのint型変数をチェックする方法を教えてくださいEditBoxが空であるかどうか。

+0

を使用することができますCStringsであることをこれはMFCアプリですか?それは.NETアプリですか? – Alan

+0

いいえそれはvC++ 6.0ではありません.net –

答えて

0

実際のEditBox変数(EditBox1と呼んでいましたか?)を調べて、値が空であるかどうかを確認する必要があります。

整数値に数値以外の値を割り当てようとする人がいないことを確認するために、他のチェックも考慮する必要があります。

+0

はいそれは実際のEditBox1変数です。値が空であることを確認するには例を挙げてください。あらかじめありがとう –

0

GetLineメソッドを使用すると、編集コントロールから文字列を取得できます。次に、IsEmpty(CStringを渡したと仮定します)を使用して、空であるかどうかを調べることができます。

+0

文字列をintに変換する方法 –

+0

intgerの値をCStringにしたくないので –

+0

最初にCStringに値を取得します。次に、_ttoiのような関数を使って整数に変換することができます。 – Naveen

3

UpdateData()メソッドを使用する必要があります。
と言っていない限り、m_変数はコントロールからデータを取得しません。

UpdateData(TRUE) // the m_ variables will be updated from the controls 
UpdateData(FALSE) // the controls will be updated from m_ variables 

あなたはm_iEdit1が整数になりたいが、あなたはEditBox1がCStringのに空の変更m_iEdit1であるかどうかを確認する必要があるため。次に、整数値を取得するには

atoi(m_iEdit1) 

を使用できます。

今m_iEdit1とm_strEdit2の両方を使用すると、コード

if (m_iEdit1.IsEmpty()) return; 
if (m_strEdit2.IsEmpty()) return; 
+0

ありがとう私は結果を得た –