INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
String aus char erzeugen funktioniert nicht
09.08.2014, 18:31
Beitrag #1
String aus char erzeugen funktioniert nicht
Hallo,
ich möchte die Eingabe über eine 4 x 4 Tastatur in einen String schreiben und diesen dann beim Drücken einer bestimmten Taste gegen eine voreingestellte Auswahl prüfen.
Das Ganze soll dann als Codeschloss funktionieren und über ein Relais einen Kontakt schalten.
Die Eingabe über die Tastatur (keypad.getKey) funktioniert.
Wenn ich dann aber den String aus den char zusammenbauen / erweitern möchte bekomme ich folgende Fehlermeldung:

codeschloss_neu:115: error: invalid conversion from 'char' to 'char*'
codeschloss_neu:115: error: initializing argument 1 of 'char* strcat(char*, const char*)'
codeschloss_neu:115: error: invalid conversion from 'char' to 'const char*'
codeschloss_neu:115: error: initializing argument 2 of 'char* strcat(char*, const char*)'

Kann mir jemand von euch sagen, was ich da falsch mache?
Die Zeile auf die sich die Fehlermeldung bezieht ist die "strcat..."

Hier ein Auszug aus dem Programm-Code:

char key = keypad.getKey();
char code;
char codepartnew;

codepartnew = key;
strcat(code, codepartnew);
Serial.println(code);

Danke schon mal für eure Hilfe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 20:30
Beitrag #2
RE: String aus char erzeugen funktioniert nicht
Hallo Ralf,

strcat() erwartet als Parameter jeweils Strings also char - Arrays. keypad.getKey() gibt aber nur einen einzelnen char zurück. Mach es mal alternativ so:
Code:
char code[11]; // 10 Tastatureingaben + 1 Terminator beginnend bei 0
void setup()
{
  Serial.begin(9600);
}
void loop()
char key;
{
  for (int i = 0 ; i <= 9 ; i++)
  {
    key = keypad.getKey();
    code[i] = key;
  }
  code[10] = '\n';
  Serial.println(code);
}
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 23:43
Beitrag #3
RE: String aus char erzeugen funktioniert nicht
Ich hab's jetzt so an's laufen gebracht:


lastkey = String(key);
tempkey = myEnterCode + lastkey;
myEnterCode = tempkey;


... und in myEnterCode steht dann die abfolge der nacheinander gedrückten Tasten :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Neuling kommt nicht weiter, ws2812 If abfragen Tabata 8 405 19.04.2018 14:07
Letzter Beitrag: Tommy56
  millis() zählt nicht weiter sowerum 8 407 09.04.2018 17:55
Letzter Beitrag: Tommy56
  ATMega 328P Bootloader funktioniert nur 1x Gelegenheitsbastler 4 239 08.04.2018 16:09
Letzter Beitrag: Chopp
  Windmesser auslesen will noch nicht so recht klappen.. Stargazer 12 506 05.04.2018 10:54
Letzter Beitrag: amithlon
  Bootlader Brennen funktioniert nicht Ardusil 6 384 18.03.2018 10:53
Letzter Beitrag: hotsystems
  Bool wird nicht umgesetzt Wampo 3 276 10.03.2018 23:04
Letzter Beitrag: Tommy56
  NTC für LCD-Anzeige.Weiter bekomme ich nicht hin malsehen 17 910 09.03.2018 20:28
Letzter Beitrag: malsehen
  328P geht nicht mehr [gelöst] Harry 37 2.292 04.03.2018 19:57
Letzter Beitrag: Harry
  UDP Paket über UART senden (nicht SPI) Wampo 9 521 04.03.2018 18:49
Letzter Beitrag: Tommy56
  Serieller string zwischenspeichern und wieder ausgeben. Matt 15 779 03.03.2018 20:23
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste