Записать данные в файл в два столбца

109
07 мая 2021, 10:20

Хочу записать данные в файл, но не знаю как сделать так, чтобы записывалось в два столбика. Помогите разобраться.

....

mas[0]=1;
mas[1]=2;
mas[2]=3;
//...
mas[7]=8
ofstream out ("1.txt", ios::app);
for (int i = 0; i <=7; i++)
{
 out << mas[i] << endl;
}
out.close();
Answer 1

Как один из возможных вариантов записи массива в файл в два столбца:

#include <fstream>
#include<array>

using namespace std;
int main()
{
    array<int, 10> arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    ofstream fout("file.txt");
    bool lineEnd = true;
    for (int elem : arr)
    {
        if (lineEnd)
            fout << elem << "\t";
        else
            fout << elem << "\n";
        lineEnd = !lineEnd;
    }
    fout.close();
    return 0;
}

В файл будут записаны числа из массива в два столбца.

Что здесь происходит: "\t" – знак табуляции, выравнивает столбцы. "\n" – знак перехода на новую строку. Эти спецсимволы поочерёдно добавляются после каждого выводимого элемента, что и проводит к образованию ровных столбцов.

В коде используется std::array вместо "голых" массивов C++, согласно настоятельным рекомендациям авторов Cpp core guidlines.

Если всё же переписать Ваш код:

mas[0]=1;
mas[1]=2;
mas[2]=3;
//...
mas[7]=8
ofstream out ("1.txt", ios::app);
bool lineEnd = true;
for (int i = 0; i <=7; i++)
{
    if (lineEnd)
        out << mas[i] << "\t";
    else
        out << mas[i] << endl;
    lineEnd = !lineEnd;
}
out.close();

Однако рекомендую всё же пользоваться std::array.

READ ALSO
Как задать количество знаков после запятой для конкретной переменной c++

Как задать количество знаков после запятой для конкретной переменной c++

Имеется три переменные типа doubleНужно для первой переменной t сделать 1 знак после запятой, а для двух оставшихся x и y сделать 3 знака после...

93
Чем заменить background-clip: text в IE 11?

Чем заменить background-clip: text в IE 11?

Известно, что background-clip не поддерживается в IE 11, однако текст необходимо сделать градиентнымКроме того, существует полифилл для IE 11

122
Может кто помочь с SVG моментом?

Может кто помочь с SVG моментом?

Пытаюсь сделать эту секцию SVG методомСмотрю видеоролики, читаю статьи, но все ровно ничего не получается

115
Активация тэга HTML

Активация тэга HTML

Возникла небольшая проблемаНа странице HTML, я вывожу предупреждение(alert)

88