Как записать в файл System::String?

Cuper

У меня есть 1 textBox. Я с него записываю в System::String информацию, и мне нужно потом записать с этой строки в файл с помощью библиотеки fstream. Visual studio 2013. Возможно, как-то можно преобразовать System::String в std::string или char[]?
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
        std::string login;
        std::string password;
 
        String^ s;
        s = textBox1->Text;
        debug1->Text = textBox1->Text;
 
        std::ofstream data("socket.txt");
        data << login;
        data << "\n";
        data << password;
 
        system("start socket.exe");
    progressBar1->Visible = true;
    textBox1->Enabled = false;
    textBox2->Enabled = false;
    textBox3->Enabled = false;
 
    String^ subsc;
    subsc = textBox3->Text;
 
    int time = 0;
    int subscInt;
    subscInt = Convert::ToInt32(subsc);
    
        
    time = subscInt * 5;
 
    for (int i = 0; i < 101; i++) {
        Sleep(time);
        progressBar1->Value=i;
    }
    progressBar1->Value = 0;
    textBox1->Enabled = true;
    textBox2->Enabled = true;
    textBox3->Enabled = true;
2 ответа

Cuper

Cuper, преобразовать можно. См. тему Преобразование между типами System::String, char*, wchar_t*, std::string и др.. Однако лучше, раз используется .NET, использовать .NET классы для работы с файлами. Тогда никаких преобразований не понадобится.


Cuper

и мне нужно потом записать с этой строки в файл с помощью библиотеки fstream
Почему именно fstream? Есть же StreamWriter и другие способы...
Возможно, как-то можно преобразовать System::String в std::string или char[]?
Возможно.