Anfängerfrage zu Strings am LCD

Gast #4800891
Ich versuche zwei Strings am LCD ausgeben.
Die erste Zeile wird am LCD ausgegeben. Die zweite gar nicht. Warum?
1
void item_ausgabe(void)
2
{
3
  char zahl[16]="HALLO";
4
  lcd_clear();
5
  lcd_setcursor( 0, 1 );
6
   lcd_string("Hallo"); // Ausgabe der 1. Zeile
7
   
8
  lcd_setcursor( 0, 2 );
9
  lcd_string(zahl); // Ausgabe der 2. Zeile
10
}

1
void lcd_string( const char *data )
2
{
3
  while( *data != '\0' )
4
  lcd_data( *data++ );
5
}
Jay K. schrieb:
> Christian S. schrieb:
>> Hallo,
>>
>> was passiert, wenn Du schreibst:
>>
>> lcd_string (&zahl);
>>
>>
>> MfG
>
> Naja da Array entweder &zahl[0] übergeben oder zahl[0].
>
> Dann wird der Compiler nur noch meckern weil &zahl[0] vom Typ char* ist
> und nicht const char* wie von der Funktion lcd_string erwartet

Copy paste-Fehler:

Naja da Array entweder &zahl[0] übergeben oder zahl (Name des Arrays 
zerfällt zu pointer auf das erste Element.
Gast
Danke für die Hilfe.

Wie ist es wenn ich einen Text im Array, der in einer Struktur 
gespeichert ist ausgeben möchte.
1
struct item 
2
{
3
  char zeile_eins[16];  // Ausgabe der 1. Zeile
4
  char zeile_zwei[16];  // Ausgabe der 2. Zeile
5
  uint8_t wert;  // Aktueller Wert der Einstellung
6
};
7

8
  struct item a10 =
9
  {
10
    "Anzahl Schritte",
11
    "4",
12
    4,
13
    
14
  };

So geht es nicht
1
  lcd_string(a10.zeile_eins); // Ausgabe der 2. Zeile


Der Versuch den String in eine Hilfsariable zu kopieren und diese dann 
auszugeben scheitert ebenfalls.
1
  char zahl[16];
2
  strcpy(zahl, a10.zeile_eins[0]);

Ich muss dringend meine C-Kenntnise auffrischen, aber wenn jemand helfen 
kann, bitte ich darum)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.