Probleme beim Ausführen meiner .exe

Mahatmas

Mitglied
Hallo zusammen,

hab da ein, in meinen Augen, schwerwiegendes Problem. Compilieren und Linken gibt keine Fehler aus. Kann auch den Pfad für die zu ändernde Datei eingeben. Er ändert sie dann auch. Jedoch bricht er anschließend mit der Meldung "Installer.exe hat ein Problem festgestellt und muss beendet werden." ab.

Hab unten den Code mal angehängt.

Wenn ich in Line 2: char oldname[] = "E:\\C++\\Installer\\INSTALL.PAK"; direkt eingebe und es also nicht über Tastatur beim Ausführen eingebe, funktioniert es ohne Probleme.

Und ich hab nun keinen Plan warum...

Code:
int count = 0;
char oldname[] = " ";                                            //  E:\\C++\\Installer\\INSTALL.PAK";
char newname[] = "E:\\C++\\Installer\\INSTALL.P0";

int install::namechange()
{
	int result;
	
	char nummer[100];                                     // um die Nummer der Version INSTALL.P0X zu erhalten
	cout << "Eingeben:" << endl;
	
	cin.getline(oldname,100,'\n');
	itoa(count, nummer , 10);		// wandelt int zu char
	
	strcat(newname, nummer);                         // verbindet E:\\... mit 0,1,2,...
		
	result = rename (oldname, newname);
	
	if (result == 0)
	{
		count++;                                  // Zählvariable zum erhöhen der Versionsnummer
		puts ("File successfully renamed");
	}
	else
	{
		perror("Error renaming file");
	}

	return 0;
}

Wär super, wenn mir da einer helfen könnte...
Schon mal Danke im Vorraus...

Gruß
Mahatmas
 
char oldname[] = " ";

ist das Gleiche wie

char oldname[1] = " ";

char oldname[] = "E:\\C++\\Installer\\INSTALL.PAK";

entspricht demnach

char oldname[31] = "E:\\C++\\Installer\\INSTALL.PAK";
 
Zurück