Veröffentlicht 23. Februar 200619 j Terve. Ich hätt da mal ein Problem: Ich möchte eine Pfadangabe einem String als Inhalt zuweisen, sagen wie sie lautet: %windir%\inf\ Nun ist ja gemeinhein bekannt dass der Backslash doppelt geschrieben werdne muss, damit er ihn erkennt, das Ganze sieht dann so aus: %windir%\\inf\\ Jetzt folgt aber ein Problem, welches ich nciht zu lösen vermag, ich habe diesbezüglich auch schon diverse Internetquellen gewälzt: das Prozentzeichen besitzt ja eine Vielzahl von Spezialanwendungsmöglichkeiten, so kann es sich in einem String durch ein %i um eine Textformatierung handeln und ähnliches. Ich brauche aber dieses Prozentzeichen, für meine Pfadangabe. \% existiert ja nicht, wie kann ich also dem Compiler klar machen, dass es sich in diesem Fall nicht um irgendeinen Operatoren handelt?
23. Februar 200619 j Das hatt ich auch schonmal drin, kann aber natürlich auch sein, dass es wegen etwas anderem nicht funktioniert, ich prüf das eben mal nach.
23. Februar 200619 j Ich glaub ich weiss woran es liegt, die parameter sind zu lang er kann nicht soviel gleichzeitig in die command line übertragen, warum auch immer. Inhalt ist zur Info: std::string para="printui.dll,PrintUIEntry /if /b \"HP LaserJet 4000 Series PCL\" /f %%windir%%\\inf\\ntprint.inf /r \"ds10d33\" /m \"HP Laserjet 4000 Series PCL\"";
23. Februar 200619 j Doppelte Prozentzeichen brauchst du nur, wenn du eine Funktion benutzt, bei der das Prozentzeichen eine besondere Bedeutung hat, z.B. sprintf oder CString::Format. In deinem Beispielcode sind die nicht notwendig - außer du verwendest diesen String später als Formatstring für eine andere Funktion.
26. Februar 200619 j warum holst du dir nicht die Werte der Variablen, speicherst die in einer temporären Variable und verbindest dann alles ?
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.