Jako argument nazwa możesz umieścić const char* lub string, którego można pobrać ze strumienia cin.
Jeśli zdecydujesz się na string, a kompilator nie działa zgodnie ze standardem C++11 to musisz go przepuścić przez metodę c_str(), aby kompilator nie protestował. Przy okazji mam prośbę, jeżeli będziesz zadawał pytanie na forum wklej nam komunikat kompilatora dla linijki, która wywołała błąd, będzie nam znacznie łatwiej pomóc : )
Przykładowo:
string nazwa = "nazwa.txt";
std::cin >> nazwa;
uchwyt.open(nazwa.c_str(), ios::in); // bez C++11 konieczna jest c_str()
Polecam jednak korzystać z kompilatora obsługującego standard C++11, który możesz ustawić w Code::Blocksie, wchodząc w zakładkę Settings -> Compiler... zaznaczając opcję [-std=c++11].