Если вы готовы придерживаться MFC, обратитесь к ответу aJ.
Иначе вам лучше со стандартной библиотечной картой. Обязательно ознакомьтесь с его документацией - можно многому научиться. Я обычно использую http://www.sgi.com/tech/stl/table_of_contents.html.
#include <map>
#include <string>
#include <utility> // for make_pair
using namespace std;
int main() {
std::map< string, struct_sample > myMap;
const struct_sample aTest = { 1,2,3 };
myMap.insert(make_pair( "test", aTest ) );
myMap[ "test2" ] = aTest; // does a default construction of the mapped struct, first => little slower than the map::insert
const map<string, struct_sample >::const_iterator aLookupTest = myMap.find( "test" );
const bool bExists = aLookupTest != myMap.end();
aLookupTest->second.a = 10;
myMap[ "test" ].b = 20;
}
Примечание: использование typedef для шаблонов может сделать код более читабельным.