Strings, oder doch lieber den Strick????????



  • hallo!
    Sorry, dass ich schon wieder ne Frage poste..... 😉

    Ich lese Daten von ner Chipkarte aus, die vom Hersteller aus erst in nem
    Buffer (sprich array) abgelegt werden.
    Wenn ich das ganze in nen CString speichere und in nem Static ausgebe, sieht das
    dann so aus:

    Name
    Vorname
    Personalnummer
    RDSýýýýýýýýýýýýýýýýýýýýýýýýýýýýýý <- weil restlicher speicher in hex FFFF belegt
    is

    ich möchte quasi die 3 wichtigen datensätze in nen eigenen string haben.
    also nach "\n" suchen welches die einzelnen Einträge trennt und dann das
    entsprechende Stück des Strings in einen anderen kopieren.

    weiss jemand wie es geht????

    wenn ja -> 👍

    Danke schonmal fürs durchlesen, bis bald



  • Aloha,

    suche doch mal nach dem Zeichen

    int pos = my_string.find('\n');
    

    Es könnte auch sein, daß Du mit ner Zeichenfolge arbeiten mußt, da das Gerät vielleicht ein "\r\n" wirft.
    Laß Dir einfach mal die beiden Zeichen nach dem ersten Namen anzeigen, welchen wert diese haben. Danach suchst Du einfach.

    Und dann mit CString.Left(), CString.Mid() etc. schnippeln....

    Grüße

    BOA



  • dank dir für die schnelle antwort.
    ich habe mal folgendes versucht:

    void CStempeluhrView::Ontest() 
    {
    	// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    		CString command;
    		char buff[1024];
    
    		command = "Card,MemReadStatus";
    		m_CardServer.SCardCommand(command, NULL, 0, buff, sizeof(buff));
    
    		CString text2 = buff;
    		int pos = text2.Find('i');
    		char zwischenspeicher[2];
    		CString text3=_itoa(pos, zwischenspeicher,2);
    		m_name.SetWindowText(text3);
    
    }
    

    Compilieren und builden, linken -> ohne probs
    aber sobald die Routine durchgeführt wird -> Crash

    Ich hab Ihn nach 'i' suchen lassen, da das 100%-ig vorkommt



  • sorry, mein Fehler
    hatte den falschen kartenleserbefehl erwischt
    es geht
    du hattest recht, er setzt noch ein anderes Zeichen vor \n

    fettes merci nochmal



  • Aloha,

    immer gerne... 😉

    Grüße

    BOA


Anmelden zum Antworten