none
String in Einzelteile zerlegen mittels Trennzeichen - Visual C++ Express Windows Forms RRS feed

  • Frage

  • Hallo Forum,

    wie der Titel schon sagt, versuche ich für eine Windows Form Anwendung einen String, ( dieser wird über die Serielle Schnittstelle eingelesen ) in Einzelstrings trennen.Als Trennzeichen muss dieses hier verwendet werden '\'

    Lese ich den String über die serielle Schnittstelle ein, so sieht dieser wie folgt aus.

    -364\0.0000000000\487.0000000000\26.6943340301\12.3528766632\0\13

    so nun will ich diese Zeichenkette in ihre Einzelglieder zerlegen.

    private: System::Void button5_Click(System::Object^  sender, System::EventArgs^  e) {
    			 //String ^ComRead= serialPort1->ReadLine();
    			 //this->textBox1->Text = ComRead;
    			 String^ ComReadTest = "-364\0.0000000000\487.0000000000\26.6943340301\12.3528766632\0\13"; // ==> eingelesene String
    			 array<Char>^chars = {' \ '} ;
    		         array<String^>^gesplittet = ComReadTest->Split(chars);
    			 this->label2->Text = gesplittet[0];
    			 this->label3->Text = gesplittet[1];
    			 this->label4->Text = gesplittet[2];

    Die Ausgabe der Einzelstrings soll dann in erster Linie mal auf die Labels erfolgen.

    Irgendwelche zusätzliche Headerfiles habe ich nicht definiert.

    Starte ich die Anwendung, so wird label2 befüllt und ab Label3 stürzt das Programm ab :-(

    Ich komme einfach nicht drauf....

    Wäre für eine Unterstützung sehr dankbar.

    lg Dieter

    Sonntag, 13. Mai 2012 21:47

Antworten

  • Das '\' ist im Source-Code ein Escape-Character... deshalb musst Du ein '\\' schreiben, wenn Du ein einfaches \ meinst...


    Jochen Kalmbach (MVP VC++)
    Montag, 14. Mai 2012 07:30
  • hallo forum

    also das Trennzeichen im String darf kein \

    Habe es auf einen ; geändert und der Code funktioniert :)

    -364;0.0000000000;487.0000000000;26.6943340301;12.3528766632;0;13


    Montag, 14. Mai 2012 04:32

Alle Antworten

  • hallo forum

    also das Trennzeichen im String darf kein \

    Habe es auf einen ; geändert und der Code funktioniert :)

    -364;0.0000000000;487.0000000000;26.6943340301;12.3528766632;0;13


    Montag, 14. Mai 2012 04:32
  • Das '\' ist im Source-Code ein Escape-Character... deshalb musst Du ein '\\' schreiben, wenn Du ein einfaches \ meinst...


    Jochen Kalmbach (MVP VC++)
    Montag, 14. Mai 2012 07:30