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
const char zu int Konvertierung Problem
02.02.2021, 10:16
Beitrag #1
const char zu int Konvertierung Problem
Liebe Forengemeinde,

ich hab's mir sehr einfach vorgestellt, aber samt Internetsuche bin ich zu blöd, um folgende Aufgabe zu lösen.

Ich rufe mit einem API Call Json Daten ab und extrahiere daraus erfolgreich Datum und Uhrzeit (in einem) in die Variable dateTime. Diese Variable ist vom Typ const char und ihr Inhalt sieht so aus: "2021-02-02T10:45:48.928053+01:00".

Ich möchte nun daraus Jahr, Monat, Tag, Stunde, Minute und Sekunde jeweils einzeln in Variablen des Formats int speichern und erhalte die Fehlermeldung

Code:
error: invalid conversion from 'const char*' to 'char*' [-fpermissive]

Hier der Code (bzw. eine abgespeckte Version zur Reproduktion des Fehlers):

Code:
const char* dateTime;
int Sekunde;

int valueFromString(char* string,int start, int width){
  int value=0;
  for( int n=0; n < width; n++ )
    value = value * 10 + string[start +n] - '0';
  return value;
}

void setup() {
  Serial.begin(115200); // Verbindung zum Seriellen Monitor
  const char* dateTime = "2021-02-02T09:59:07.177045+01:00";
  Sekunde = valueFromString(dateTime,17,19);
  Serial.print("Sekunde: ");
  Serial.println(Sekunde);
}

void loop() {
}

Welchen Fehler begehe ich? Ich bin dankbar für jede Anregung, die mich weiterbringt!

Ach ja, ich weiß nicht, ob es wichtig ist: Das ganze soll auf einem ESP32 laufen.

Viele Grüße, Lumplux
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.02.2021, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2021 10:40 von Lumplux.)
Beitrag #2
RE: const char zu int Konvertierung Problem
Hallo nochmal,

offensichtlich war es so, daß ich es unbedingt in ein Forum posten mußte, um danach selbst draufzukommen. Die Lösung ist:

Die Funktion valueFromString benötigt natürlich als Eingabe ein const char. Diese Zeile muß also lauten:
Code:
int valueFromString(const char* string,int start, int width){

Besten Gruß, Lumplux.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem Relaisplatine Maui 14 985 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Größe eines Char-Arrays ermitteln Karl Stanger 7 689 07.03.2021 18:01
Letzter Beitrag: Tommy56
  Problem mit "pow" awillib 9 821 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 492 20.02.2021 12:14
Letzter Beitrag: safitom
  char return Werte sind komplett falsch flowmotion 8 1.067 12.02.2021 22:27
Letzter Beitrag: Tommy56
  Template Datentype mit decltype prüfen - error: cannot convert 'bool' to 'char*' flowmotion 2 460 09.02.2021 18:57
Letzter Beitrag: flowmotion
  Problem mit "Keyboard" und "Mouse" LK2567 4 560 03.02.2021 16:11
Letzter Beitrag: MicroBahner
  Arduino Uno+ Ethernetshield W5100 Website Problem Justus S. 9 828 31.01.2021 17:37
Letzter Beitrag: Tommy56
Sad MAX7221 mit gemeinsamer Anode und Problem Dezimalpunkt daja64 11 818 30.01.2021 11:07
Letzter Beitrag: daja64
  grundelegende Frage: int vs const int mhoeting 4 474 27.01.2021 14:37
Letzter Beitrag: mhoeting

Gehe zu:


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