In meinem Projekt (Unreal Engine 4) habe ich keinen Ausgangsstrom - stattdessen kann ich über UE_LOG Funktion kommunizieren, die so ähnlich wie printf()
funktioniert . Das Problem ist, dass ich gerade eine DLL-Bibliothek (ohne Unreal Includes) gemacht habe, die ich über die iostream
kommunizieren möchte. Meine Idee ist - innerhalb. DLL-Bibliothek Ich verwende Standard cout
, um Nachrichten in Ostream zu schreiben, ich benutze alles davon in Unreal Engine-Funktionen, wo ich ostream
in Form von Zeichenfolge und geben Sie es in UE_LOG-Funktion.std :: cout, ostream und andere Arten der Ausgabe Ausgangsstrom
Problem ist, dass ich immer std::cout
als Teil der Magie behandelt werde, ohne zu denken, was wirklich innen ist (ich bin ziemlich sicher, dass die meisten von uns taten). Wie kann ich damit umgehen? Einfache Wege werden nicht funktionieren (wie stringstream
greifen und es in UE_LOG ausgeben).
Wickeln Sie dieses Zeug, um die 'std :: ostream'-Syntax anzupassen. BIG GRIN: D –
Warum lassen Sie Streams passieren, wenn Sie nur Strings übergeben können? Lassen Sie die Funktionen in der DLL 'std :: string' Argumente, und wenn sie eine Zeichenfolge zurückgeben müssen, dann geben Sie eine' std :: string' zurück. –
@ joachim-pileborg Ja, aber dll-Funktion kann komplizierten Prozess machen, und es würde vor und nach der Ausführung aufrufen müssen - also nur die Schnur greifen wird nicht helfen. –