std::string data = #include "datei_mit_string_inhalt"
-
hi ^^
ich weiß, dass es geht, einen string per präprozessor zu sagen, was er beinhalten soll - in etwa so:
std::string data ( #include "test.txt" );leider weiß ich nicht mehr genau, wie das gemacht wird, nur das es im zuge einer aufgabe irgendeiner programmier-kontest-seite hier mal besprochen wurde - und iwie bringts das ja nich so wirklich nach #inlude zu suchen - selbst mit "#include textersetzung" (was mit ziemlicher sicherheit als erklärung gedient hatte), hab ich nichts brauchbares gefunden ><.
in dem thread an sich ging es aber um die lösung einer aufgabe - in der man eine datei mit vielen namen auseinander nehmen sollte, ich glaube auch, dass es dort einstd::vector <std::string>war, aber das tut ja nix zur sache ^^bevor hier alle anfangen, rumzumeckern: es soll nur zu testzwecken dienen und ich bin noch nicht mal sicher, ob man es schafft, wenn in der datei " `s vorkommen ^^
danke scho ma ^^
bb
-
Ja sicher geht das. Der Präprozessor kopiert praktisch einfach nur den Inhalt der angegebenen Datei an die Stelle des #includes. Du kannst also statt
std::string s = "blahblahblah";auch eine Datei mit dem String, "string.txt", anlegen:
"blahblahblah"und dann schreiben
std::string s = #include "string.txt" ;Das muss jetzt so komisch aussehen, weil Präprozessordirektiven immer allein auf ihrer Zeile stehen müssen (von Kommentaren und Whitespace mal abgesehen).
-
joar - so ist mir das klar - aber ich dachte auch, dass man eine datei mit
blabla sabbelhaben kann - und die " am Anfang und Ende im Code an sich angeben kann ^^
-
unskilled schrieb:
joar - so ist mir das klar - aber ich dachte auch, dass man eine datei mit
blabla sabbelhaben kann - und die " am Anfang und Ende im Code an sich angeben kann ^^
Nein das geht nicht … aber wieso liest Du die Datei nicht einfach konventionell zur Laufzeit ein?
-
Oder wieso nimmst du nicht einen Schritt in deinen Build-Prozess auf, der aus einer gegebenen Textdatei ein Stringliteral macht? In einer Scriptsprache deiner Wahl sollte das ein leichtes sein. Anfügen von Gänsefüßchen reicht übrigens nicht.