Forum: PC-Programmierung Probleme mit Programmzeile im C


von Christoph (Gast)


Lesenswert?

Hallo,

ich möchte über das serielle Port mit einem String einen Text ausgeben.

z.B Text1="Test";

Allerdings soll im Text1 ein ein " vorkommen, wie mach ich das?? es wird 
ja automatisch erkannt das der Text aus ist! Ich könnte ja das " als 
ASCII Zeichen ausgeben (0x22) das geht zwar aber das Modul an das ich 
den Befehl sende erkennt dann den Befehl nicht mehr!

Was könnte ich da machen??

mfg
Christoph

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Die Escape-Sequenz \" könnte helfen, sofern eine printf-Variante 
verwendet wird.

von Volkmar e. P. (keepitsimple)


Lesenswert?

Hallo Christoph,

versuchs mal mit: Text1 = "Test \" Test";

Der Backslash leitet ein Sonderzeichen ein. Manche Compiler unterstützen 
es so wie oben. Alternativ geht auch "Test \0x22 Test".

Viele Grüße
Volkmar

von Claus (Gast)


Lesenswert?

probier doch mal backslash escapen:

Text = "\"Text\"";

Grüße
Claus

von Christoph (Gast)


Lesenswert?

Danke!

Hat funktioniert!

mfg
Christoph

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

@Rahul:
Diese Schreibweise betrifft alle Stringkonstanten in C, nicht nur printf 
übergebene.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.