Was ist bitte an diesem Code Falsch?
-
void __fastcall TfrmHaupt::SaveDateiName(AnsiString FileName)
{
char *Puffer;
sDateiName = FileName;
Puffer = new char[sDateiName.Length() + SpeicherTitel.Length() + 7];
sprintf(Puffer, "%s - [%s]", SpeicherTitel.c_str(),FileName.c_str());
Caption = (AnsiString)Puffer;
delete Puffer;
}bitte hiflt mir ich bin am verzweifeln
-
Was sagt denn dein Compiler dazu? Normalerweise kann man aus dessen Fehlermeldungen nicht nur ablesen, daß man etwas falsch gemacht hat, sondern auch genau was und wo.
(auf Anhieb: sDateiName, SpeicherTitel und Caption sind nicht bekannt (und das erste passt noch nichtmal in dein Namensschema). Und in der letzten Zeile fehlt ein [] nach dem
delete
)
-
[C++ Fehler] U_texteditor.cpp(88): E2268 Aufruf der undefinierten Funktion 'sprintf'
das ist der fehler der ausgegeben wird
-
Du hast wohl vergessen stdio.h zu inkludieren!?
-
jetzt klappt soweit alles danke schön
-
Hallo
Natürlich könntest du das ganze auch durch eine einzige Zeile ersetzen...
void __fastcall TfrmHaupt::SaveDateiName(AnsiString FileName) { // sDateiName = FileName; - ist vielleicht auch gar nicht notwendig Caption = SpeicherTitel + " - [" + FileName + "]"; }
Bitte merken :
* Im Builder die reinen C-Strings nur nutzen wenn es nicht anders geht. Die VCL-String-Klasse ist viel angenehmer und sicherer
* Bitte hier im Forum für das Posten von Quellcode die Code-Tags benutzen. sfdsbis bald
akari