Ich habe eine Klasse mit einem Setter namens setPath(const char* pathName);.
Ich möchte nun via Texteingabe vom Benutzer den Pfadnamen einlesen und anschließend "weiterverwenden" (z.B. nutzt eine andere Methode die Variable pathName um daraus die Dateien zu lesen und in eine Liste zu schreiben).
Mein Problem liegt hier:
Code: Alles auswählen
void eineKlasse::setPath(const char* pathName)
{
std::ifstream path; //type of path for in-stream
std::cout << "Dateipfad? ";
std::cin >> pathName; // hier liegt das Problem
path.open(pathName, std::ios::in);
if (!path)
{
std::cerr << pathName << " unable to open!\n";
exit(-1);
}
this->m_pathName = pathName;
path.close();
}
Er kann const char*nicht nehmen. Was auch irgendwie verständlich ist.
Das Problem ist nur, open(chonst char*, flags) ist so vorgegeben; Ich benötige folglich einen const char*.
Gibt es eine Möglichkeit (außer c_str()!! Da mein Programm auf "sehr viele Dateien" ausgelegt ist, erscheinen etliche Kopien dabei nicht unbedingt günstig) dieses Typproblem zu lösen?
Grüße
AQtNewbie