Ist es möglich, diesen Text in die ausführbare Datei zu integrieren?
Eine Möglichkeit, eine Textdatei enthalten, wie ein inlined Ressource ist Ihre Text-Datei ein wenig zu modifizieren und verwenden, um eine #include
Aussage:
Format der Textdatei:
R"rawtext(
Put all of the text input you want here:
...
)rawtext"
Modifikation wahrscheinlich könnte Sie können auch ein kleines Werkzeug verwenden, das den Text umgibt, den Sie in einem Vorverarbeitungsschritt für die Kompilierung in Ihr Programm einbinden möchten:
Bei einem GNU makefil e zum Beispiel:
std::istrstream input(
#include "MyTextFile.inc"
);
Und es mit einem std::istream
wie Sie von einem extern geöffneten Datei tun würde verwenden:
MySource.cpp: MySource.h MyTextFile.inc
MyTextFile.inc: MyTextFile.txt
sed -e "s/\(.*\)/R'rawtext(\1)rawtext'/" < $< > [email protected]
In Ihrem Programm können Sie dann verwenden.
Sie können mehr über Raw-String-Literale here lesen.
Bitte Beispiel-Code zur Verfügung stellen Sie schrieb und warum arbeitet es nicht. Zu Ihrer Frage würde ich sagen, dass Sie in der Tat eine ganze Textdatei in Ihr Programm aufnehmen können. – Fabien
Off-Thema. Sie können betriebssystemspezifische Tricks (Dateiberechtigung, setuid, ...) verwenden. Sie könnten den Text in eine SQLite-Datenbank einfügen. Sie könnten es verschlüsseln, komprimieren oder irgendwie verschleiern. –
Selbst wenn Sie es in der ausführbaren Datei erstellen würden, wäre es immer noch lesbar. Öffnen Sie eine .exe, die Sie mit Notepad haben. Sie können alle Zeichenfolgen sehen, die sie leicht haben. – litelite