Я делаю программу в WindowsForm на C++. Она должна сохранить данные из DataGridView в текстовый файл, но выдаёт ошибку

Вот эта ошибка

Вот код

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {



    SaveFileDialog^ SaveFileDialog1 = gcnew SaveFileDialog;
    SaveFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    if (SaveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
    {

        StreamWriter^ file = File::CreateText(SaveFileDialog1->FileName);
        int M, N;
        dataGridView1->RowCount = M;
        dataGridView1->ColumnCount = N;
        char mas[100][100];
        int i,j;
        for (i = 0; i < M - 1; i++)
            for (j = 0; j < N - 1; j++)
            {
                (dataGridView1->Rows[i]->Cells[j]->Value = mas[i][j]);

                file->WriteLine(mas[i][j]);
            };
        // тут запись данных через file->Write или file->WriteLine
        file->Close();
    }

Ответы (1 шт):

Автор решения: Vasia Black

вот рабочий код:

SaveFileDialog^ SaveFileDialog1 = gcnew SaveFileDialog;
SaveFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
if (SaveFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{

    StreamWriter^ file = File::CreateText(SaveFileDialog1->FileName);
    int с=dataGridView1->RowCount, r=dataGridView1->ColumnCount;
    
    int i, j;
    for (i = 0; i < с - 1; i++) {

        for (j = 0; j < r - 1; j++)
        {
            file->Write(dataGridView1->Rows[i]->Cells[j]->Value);
            file->Write(" ");
        };
        file->WriteLine("");
    }
    file->Close();
}
→ Ссылка