Путь к файлу из OpenFileDialog в fstream

Bogradan

Не знаю, что вставить в скобочки fstream f1(?); чтобы он брал путь к файлу, который был выбрал при помощи OpenFileDialog. Если пытаюсь вставить туда переменную openfiledialog "a", тогда пишет "невозможно преобразовать параметр 1 из "System::String ^" в "const char".
setlocale(LC_ALL,"Russian");
 
         System::IO::StreamReader ^ sr = gcnew
            System::IO::StreamReader(openFileDialog1->FileName);
         MessageBox::Show("Файл выбран",sr->*********());
    
         System::String^ a = textBox1->Text;
         textBox1->Text = openFileDialog1->FileName;
        
         char b;
                 fstream f1(?);          // <--- Сюда вставляется путь к файлу.
         fstream f2("test2.txt");
         f1>>b; f2<<b;
         f1.close(); f2.close();
 
         sr->Close();
4 ответа

Bogradan

Bogradan, нужно пребразовать String^ в char* или, что возможно будет проще, использовать .NET классы из пространста имен System::IO для работы с файлами.


Bogradan

Можете пожалуйста привести пример рабочего кода?


Bogradan

Bogradan,
System::IO::StreamReader ^ reader = gcnew System::IO::StreamReader(openFileDialog1->FileName);
System::IO::StreamWriter ^ writer = gcnew System::IO::StreamWriter("test2.txt");
 
wchar_t b = (wchar_t)reader->Read();
writer->Write(b);
 
writer->Close();
reader->Close();


Bogradan

Спасибо большое за помощь. Закрывайте тему.