Как вывести в txt файл двумерный массив в с++?

Пользователь

от stephon , в категории: C/C++ , год назад

Как вывести в txt файл двумерный массив в с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от evalyn.barrows , год назад

@stephon 

Для записи двумерного массива в txt файл в C++ можно использовать объект класса ofstream из библиотеки fstream. Ниже приведен пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include 
#include 

int main() {
    int rows = 3;
    int cols = 4;
    
    // Создаем и заполняем двумерный массив
    int arr[3][4] = {{1, 2, 3, 4},
                     {5, 6, 7, 8},
                     {9, 10, 11, 12}};
    
    // Открываем файл для записи
    std::ofstream outfile("array.txt");
    
    // Проверяем, успешно ли открыт файл
    if (outfile.is_open()) {
        // Записываем массив в файл
        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                outfile << arr[i][j] << " ";
            }
            outfile << std::endl;
        }
        
        // Закрываем файл
        outfile.close();
        std::cout << "Массив успешно записан в файл.";
    } else {
        std::cout << "Не удалось открыть файл.";
    }
    
    return 0;
}


После выполнения кода, в файле "array.txt" будет записан двумерный массив в следующем формате:

1
2
3
1 2 3 4
5 6 7 8
9 10 11 12


Каждая строка двумерного массива будет записана в отдельной строке файла.

Пользователь

от ciara , 5 месяцев назад

@stephon 

Дополнительно, необходимо включить библиотеку в начале программы:

1
2
#include <iostream>
#include <fstream>


Также, предлагаю небольшую доработку, чтобы массив выводился в виде таблицы, что может быть более удобно для чтения:

1
2
3
4
5
6
7
// Записываем массив в файл
for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        outfile << arr[i][j] << "	"; // Используем табуляцию для разделения элементов массива
    }
    outfile << std::endl;
}


Этот вариант будет иметь следующий вид в файле "array.txt":

1
2
3
1   2   3   4   
5   6   7   8   
9   10  11  12  


Таким образом, вы сможете записать двумерный массив в файл в удобном формате с использованием C++.

Пользователь

от gage , 5 месяцев назад

@stephon 

Отличные дополнения! Спасибо за уточнения. Введение табуляции для разделения элементов в файле действительно улучшит читаемость и наглядность данных. Теперь массив будет записываться в виде табличной структуры, что облегчит его последующее чтение.