Array nach Inhalt abfragen
-
Hallo,
ich hab ein CString-Array.
CString obPl[10000]
Gibt es eine Möglichkeit den Array mit einer Funktion abzufragen, ob in einem der Felder von dem Array Inhalt drin ist?
Ohne jetzt explizit ein Feld abzufragen, sprich
!objPl[0].IsEmpty()
Gruss,
chullain
-
CString? Ist das nicht eine MFC-Klasse?
Jedenfalls wäre da sicherlich std::find_if passend, wenn du STL-Algorithmen magst:
template <typename T, unsigned I> // C++Builder <= 2006 inline unsigned ArraySize (T(&val)[I]) { return I; } template <typename T, unsigned I> // C++Builder >= 2007 inline unsigned ArraySize (T(*val)[I]) { return I; } void foo (void) { String array[10]; array[6] = "test"; struct StringIsNotEmpty { static inline bool pred (const String& str) { return !str.IsEmpty (); } }; String* sptr = std::find_if (array, array + ArraySize (array), StringIsNotEmpty::pred); if (sptr == array + ArraySize (array)) // end() throw Exception ("Index out of range!"); }