- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 19

Thema: Grundsatzfragen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    Der eigentliche Grund dafür:

    mit ist noch unklar, wie ich in C++ einen String, Typs "String" in ein String, Typs "char" umwandle.
    Und ob das überhaupt geht.

    Müsste aber, habe was dazu gefunden: https://www.arduino.cc/reference/en/...s/tochararray/
    Allerdings wird da der gesamte String als Kopie im Speicher abgelegt. Vermutlich passiert das Kopieren zur Laufzeit.
    Das ist weniger gefällig.


    MfG


    ja, du brauchst hier immer 2 verschiedene Variablen, da beide unabhängige Datentypen sind und nichts miteinander zu tun haben:

    einen cstring von passender Größe

    char cbuf[100];

    und einen
    String mString;

    du kannst jetzt den Inhalt von String mString auf char cbuf[] kopieren:

    mString.toCharArray(cbuf, 100);

    Ist die Länge von mString kürzer als die vom cstring, wird in cstring hinter das letzte mString-Zeichen eine Null '\0' gesetzt (ich weiß allerdings jetzt grade nicht, ob der Rest ebenfalls mit '\0' aufgefüllt wird oder undefiniert bleibt).

    - - - Aktualisiert - - -

    PS,
    es gbt noch eine 2. String-Methode, die einen Pointer auf den "reinen cstring-Inhalt" von String zurückliefert:

    mString.c_str()

    Ich habe das noch nicht benutzt, aber ich verstehe das so, dass du dann (z.B. für temporäre Zwecke) keinen extra cstring Buffer brauchst, z.B. direkt zur Verwendung in anderen C Funktionen, so als wäre es bereits selber ein cstring array. Vermutlich arbeitet die Methode genau wie beim großen Bruder, der C++ std::string class:
    http://www.cplusplus.com/reference/string/string/c_str/

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Ja, c_str() funktioniert in Verbindung mit write().

    Gut!


    Gibt aber einen "const char*" Datentyp zurück?

    gibt dann so Meldungen dass von const char* nach char* ein Konvertierungsfehler auftritt.

    - - - Aktualisiert - - -

    c_str() gibt const char*

    Ja ist wohl so, habe es woanders gelesen.
    Geändert von Moppi (21.05.2019 um 12:08 Uhr)

Ähnliche Themen

  1. Wechsel von BASCOM zu GCC/Grundsatzfragen zu GCC
    Von stekohl im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 10.12.2008, 23:13
  2. Grundsatzfragen zum LCD
    Von Goblin im Forum Elektronik
    Antworten: 12
    Letzter Beitrag: 02.02.2006, 21:16
  3. Probleme mit Counter ! Grundsatzfragen
    Von Roberto im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 15.01.2006, 23:38

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests