VC++, zapis danych z textBox'a do pliku.txt

0

Witam, uzywam aktualnie Visuala C++ 2010. Jak zapisać dane z textBoxów do pliku.txt w osobnych liniach (lub oddzielonych spacjami).

To co zrobiłem, lecz się nie kompiluje:

ofstream fin("C:\Users\...\plik.txt");
String^ s = this->textBox2->Text;
fin<<s;
String^ s = this->textBox3->Text;
fin<<s;

Jak to powinno wyglądać prawidłowo?

1

Problem polega na tym, że textBox2->Text jest typu System::String, a standardowe strumienie spodziewają się std::string albo C-stringów.
Można przekonwertować String na string albo użyć funkcji z .Net Framework, które operują na klasie String.

using namespace System;
using namespace System::IO;

int main()
{
   String ^s = L"Ala ma kota";

   TextWriter ^tw = File::CreateText(L"ala.txt");
   tw->WriteLine(s);
   delete tw;
}

a konwersję stringów robimy tak:

#include <string>
#include <msclr/marshal_cppstd.h>

using namespace System;
using namespace std;
using namespace msclr::interop;

int main()
{
   String ^s1 = L"ala ma kota";

   // konwersja String -> string
   string s2 = marshal_as<string>(s1);

   // konwersja string -> String
   String ^s3 = marshal_as<String^>(s2);
}

Nie zadziała w Visual C++ 2008 Express — brakuje nagłówka.
Zadziała w VS 2008 Pro, oraz 2010 i 2012 (także Express).

1 użytkowników online, w tym zalogowanych: 0, gości: 1