Array Buffer an Variable übergeben



  • Ich möchte wie gesagt die serielle Schnittstelle auslesen.
    Dazu benutze ich diese Serial Klasse.
    Und zwar:

    1.CSerial serial;
    DWORD dwBytesRead = 0;
    BYTE abBuffer[100];

    2.serial.Open(_T("COM1"));
    do{

    serial.Read(abBuffer,sizeof(abBuffer),&dwBytesRead);
    if (dwBytesRead > 0)
    {

    m_anzeige = abBuffer;
    UpdateData(false);
    }

    }
    while (dwBytesRead == sizeof (abBuffer));

    Dabei habe ich m_anzeige als Membervariable an ein Eingabefeld gebunden.
    Welchen Typ muss die Variable haben Byte funktioniert nicht
    Wenn ich den String nehme, Bekomm ich zwar mein Empangenes Ergebnis angezeigt.
    aber ja leider auch den Rest des Arrays.(In meinem Fall lauter ÜÜÜS 🙂 )
    Hat jemand eine Idee?
    Eigendlich muss es doch eine Simple Lösung geben oder?



  • if (dwBytesRead > 0)
    {
    abBuffer[dwBytesRead]=0;
    m_anzeige = &abBuffer[0];
    UpdateData(false);
    } 
    
    ...
    
    char *m_anzeige;
    //kannst auch string verwenden
    


  • Super Danke!!!

    👍

    Kannst du mir auch noch sagen wie ich den Speicher wieder leere?
    abBuffer = 0;
    funktioniert leider nicht



  • memset(abBuffer, 0, sizeof(abBuffer));



  • Vielen Dank schon mal bis hier,
    für die sehr gute Hilfe.


Anmelden zum Antworten