tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
7831
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sTEk sTEk ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    121
    Ich bins mal wieder - nachdem ich dank Euch und meiner Bücher schon um einiges tiefer in C++ tauchen kann, hänge ich mal wieder fest.

    Ich bekomme aus einer Anweisung einen 64stelligen char (eigentlich ja 65, da NULL-terminiert). Diesen möchte ich jetzt in einen CString kopieren. Und da ich diesen char n-tausend mal einlese, muss der aktuelle char immer schön hinten dran an den CString.
    Wie geht das?
    ich bekomme es selbst mit einem char nicht hin, irgendwie gibt er mir, wen ich die Länge des CString wie in der MSDN beschrieben auslese, immer 0 zurück.
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    [/CODE]
    Ich bekomme aus einer Anweisung einen 64stelligen char (eigentlich ja 65, da NULL-terminiert). Diesen möchte ich jetzt in einen CString kopieren. Und da ich diesen char n-tausend mal einlese, muss der aktuelle char immer schön hinten dran an den CString.
    Was ist ein 64stelliger char? Was meinst du mit n-Tausend?

    Ansonsten -- hier ein paar Möglichkeiten, chars in CStrings reinzubekommen:

    Code :
    1
    2
    3
    4
    5
    6
    
    char buffer[] = "HALLO";
    CString a( buffer );
    CString b = buffer;
    CString c = "Tach auch.";
     
    a += '!';
    Geändert von Kachelator (16.12.04 um 17:17 Uhr)
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    sTEk sTEk ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    121
    Meinen Char habe ich so definiert:
    Code :
    1
    
    char  input[65]="/0";

    Da werden dann 64 Zeichen eingelesen und diese sollen in einen CString aneinandergereit werden, also so ungefähr:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
     int i;
     CString   a, alles;
     
     for (i=1; i<5001; i++) {
        //hier wird der char eingelesen, das klappt wunderbar
        a=input;
        alles += a; }

    Habe ich das jetzt richtig interpretiert? Kann den Code leider erst am Montag ausprobieren, da ich das Gerät, dessen Daten ich einlesen möchte, nicht da habe und der Quellcode auch auf Arbeit liegt.
    Danke.
     

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Du kannst den Pointer auf dein char-Array einfach an den CString zuweisen. Die Schleife ist unnötig. Wichtig ist nur, das input eine abschliessende 0 hat.

    Code :
    1
    
    CString alles = input;
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  5. #5
    sTEk sTEk ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    121
    Ich habe mein Programm jetzt so geschrieben, es klappt auch, jedenfalls gibt er mir die richtige Länge des CStrings an:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    char  input[65]="/0";
        int i;
        CString   a, alles;
        
     for (i=1; i<4001; i++)      // Hier wird 4000 mal der cominhalt gelesen und aneinander in eine CStrong-Variable gepackt
            {
            sprintf(buffer, "Page: %d", i);
            m_bytes=port.Read(cominhalt,64);    // Hier wird cominhalt eingelesen
         m_EEPROM_Inhalt+=cominhalt;     // Hier wird cominhalt an m_EEPROM_Inhalt angefügt
       
            m_status=m_EEPROM_Inhalt.GetLength();
            sprintf(buffer1, "Länge: %i", m_status);
            SetDlgItemText(IDC_bytes,buffer1);
            SetDlgItemText(IDC_COM_Status,buffer);
       
            UpdateWindow();
       
            }

    Danke schön
    Geändert von sTEk (20.12.04 um 17:17 Uhr)
     

Ähnliche Themen

  1. char* into CString
    Von TheTank im Forum VisualStudio & MFC
    Antworten: 8
    Letzter Beitrag: 11.10.10, 15:15
  2. char* to CString
    Von TheTank im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 07.09.10, 15:37
  3. CString zu char
    Von Dipsi im Forum VisualStudio & MFC
    Antworten: 8
    Letzter Beitrag: 11.07.10, 18:40
  4. 'class CString' to 'char *'
    Von shader09 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 26.10.07, 14:59
  5. CString in char
    Von napstermania im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 18.10.04, 23:06