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 mit Neuem Bootlader installieren Warmbronner 10 532 27.06.2021 16:19
Letzter Beitrag: Bitklopfer
  return const char Hero 12 659 02.06.2021 13:45
Letzter Beitrag: Hero
  Problem bei Multitasking und millis() Maxcruiser 41 2.156 01.06.2021 22:22
Letzter Beitrag: Maxcruiser
  Problem Relaisplatine Maui 14 1.467 23.03.2021 15:20
Letzter Beitrag: hotsystems
  Größe eines Char-Arrays ermitteln Karl Stanger 7 946 07.03.2021 18:01
Letzter Beitrag: Tommy56
  Problem mit "pow" awillib 9 1.167 27.02.2021 19:22
Letzter Beitrag: Tommy56
  Pwm Problem safitom 4 684 20.02.2021 12:14
Letzter Beitrag: safitom
  char return Werte sind komplett falsch flowmotion 8 1.421 12.02.2021 22:27
Letzter Beitrag: Tommy56
  Template Datentype mit decltype prüfen - error: cannot convert 'bool' to 'char*' flowmotion 2 617 09.02.2021 18:57
Letzter Beitrag: flowmotion
  Problem mit "Keyboard" und "Mouse" LK2567 4 759 03.02.2021 16:11
Letzter Beitrag: MicroBahner

Gehe zu:


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