hash wert von einem string
-
... kann ich ohne eine Zusatzklasse von einem String einen hash wert erreichnen?
Gibt´s sowas in der mfc oder in c++?lg
-
In der MFC gibt es diese Funktion um den Hashkey für CMapStringToPtr zu errechnen:
UINT HashKey(LPCTSTR key) const { UINT nHash = 0; while (*key) nHash = (nHash<<5) + nHash + *key++; return nHash; }
Ist wahrscheinlich nicht allzu sophisticated, aber wird's wohl in den meisten Fällen tun.
-
??? wie benutzt man denn das ding und wie komme ich von einem CString dort hin?
Hat da jemand eine Ahnung?danke
-
CString hat einen eingebauten Cast-Operator auf LPCTSTR. Du musst ihn also nur in die Funktion stecken:
CString str(_T("Dies ist ein Beispiel")); UINT hash = HashKey(str);
-
wenn ich das so verwende gibts folgende fehlermeldunb im vc.net
error C3861: 'HashKey': identifier not found, even with argument-dependent lookup
was passt da nicht?