Forum: Mikrocontroller und Digitale Elektronik #define Konstante in String einbauen


von karl (Gast)


Lesenswert?

Die Ausgabe
1
#define LCD_CHAR 126
2
3
...
4
5
// Ausgabe
6
LCD_string_P(PSTR("Zeichen: "));
7
LCD_data(LCD_CHAR);

könnte ich doch auch so schreiben
1
LCD_string_P(PSTR("Zeichen: \126"));

Kann ich auch beide irgendwie vereinigen (ohne sprintf)?
1
#define LCD_CHAR 126
2
3
...
4
5
// Ausgabe irgendwie so?
6
LCD_string_P(PSTR("Zeichen: \" LCD_CHAR));

???

Danke
karl

von Eric B. (beric)


Lesenswert?

Nein. "\126" ist nicht 126 sondern 86.
(http://en.cppreference.com/w/cpp/language/escape)

> Kann ich auch beide irgendwie vereinigen (ohne sprintf)?
1
#define LCD_CHAR "\126"
2
3
LCD_string_P(PSTR("Zeichen: " LCD_CHAR));

von karl (Gast)


Lesenswert?

Eric B. schrieb:
> Nein. "\126" ist nicht 126 sondern 86.
> (http://en.cppreference.com/w/cpp/language/escape)
Bahnhof?

Ansonsten danke kann damit Arbeiten

danke
karl

von Yalu X. (yalu) (Moderator)


Lesenswert?

karl schrieb:
> Eric B. schrieb:
>> Nein. "\126" ist nicht 126 sondern 86.
>> (http://en.cppreference.com/w/cpp/language/escape)
> Bahnhof?

Eric war sich nur nicht ganz sicher, ob dir bewusst ist, dass bei der
Schreibweise "\126" die 126 als Oktalzahl interpretiert wird, was einem
Dezimalwert von 86 und damit einem "V" entspricht. Denn ein simples "V"
würde man direkt (ohne Escape-Sequenz) hinschreiben, da es auf dem LCD
gleich wie auf dem PC kodiert wird.

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.