Pliki i Dodawanie

Aby dodać dwie liczby odczytane z pliku tekstowego oddzielonego spacją trzeba się troszkę namęczyć. Najpierw czytamy znak i sprawdzamy, czy jest spacja lub koniec pliku. Jak jest to bierzemy następny lub wychodzimy, a jak nie jest to dopisujemy do naszego stringa następny znak. Po wyjściu z pętli parsujemy dane (zamieniamy na liczby) i sumujemy. Pamiętamy, że liczby zmiennoprzecinkowe używają przecinka a nie kropki oraz że znak spacji w kodzie ASCII to 32. Jeśli chcielibyśmy zmodyfikować nasz program na dane oddzielone np. średnikiem wystarczy znaleźć kod na http://pl.wikipedia.org/wiki/ASCII i podmienić w programie. Cały kod wygląda następująco:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
 System::Char znak;
 System::String^ liczbaString;
 System::Single liczba;
 System::Single wynik;
 StreamReader^ plik = gcnew StreamReader("plik.txt",System::Text::Encoding::Default);
 while (plik->Peek()!=-1){
 while((plik->Peek()!=32)&&(plik->Peek()!=-1)){
 znak=(Char)plik->Read();
 liczbaString = liczbaString+znak;
 }
 textBox1->AppendText(liczbaString+System::Environment::NewLine);
 liczba=Convert::ToSingle(liczbaString);
 wynik=wynik+liczba;
 liczbaString="";
 plik->Read();
 }
 textBox1->AppendText("suma to:"+wynik.ToString());
 plik->Close();
 }

A w pliku.txt wpisaliśmy "1,3 4,7" wygląda to tak jak na obrazku poniżej: