daten werden nicht richtig abgelegt?
-
Hi,
folgende Situaltion
class Converter { private: char* sourceFile; char* destinationFile; public: Converter(int argc, const char* argv[]); char* GetSourceFile(void); char* GetDestinationFile(void); }; Converter::Converter(int argc, const char* argv[]) { char sourceFile[500]; char destinationFile[500]; strcpy(sourceFile, argv[argc-2]); strcpy(destinationFile, argv[argc-1]); cout << "source1 = " << sourceFile << endl; cout << "source2 = " << GetSourceFile() << endl; } char* Converter::GetSourceFile() { return sourceFile; }Beim Aufruf mit 'converter sourcefile distinationfile' ergibt sich folgende Ausgabe
source1 = sourcefile source2 = <MAus mir nicht einsehbaren Gründen klappt das nicht wie es soll. Warum sind sourceFile und GetSourceFile() nicht gleich?
Gruß
-
char sourceFile[500]; char destinationFile[500];das sollte wohl besser in die klassendefinition und nicht in den konstruktor
-
es sollte auch noch eine prüfung auf länge und vorhandensein der argumente mit rein. std::string ist vielleicht auch praktischer zu handhaben. über die verwendung von strcpy() lässt sich auch streiten.
-
Vielen Dank!
Anfängerfehler...