C++ сохранение элементов массива в файл

компьютеры программирование C++ задачи c++

вопрос следующий.: необходимо задать массив (труда не составляет), после сохранить его в текстовый документ. На сколько понимаю, делается это с помощью команды "write". не понятен алгоритм ее использования. Объясните пожалуйста новичку, как это делается

Примечание:
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
size_t i, n; cout << "N = "; cin >> n; if(n==0) return -1;

int *arr = new int[n];
cout << "Array: "; for(i=0; i<n; i++) cin >> arr[i];

for(i=0; arr[i] && i<n; i++);
int sum = 0; while( ++i < n ) sum += arr[i]<0 ? -arr[i] : arr[i];

int *tmp = new int[n], *ptr = tmp;
for(i=1; i<n; ++ptr, i+=2) *ptr = arr[i];
for(i=0; i<n; ++ptr, i+=2) *ptr = arr[i];
delete[] arr; arr = tmp;

cout << "S = " << sum << endl;

for(i=0; i<n; i++) cout << tmp[i] << " "; cout << endl;
delete[] arr;

int a[N];
ofstream out("file.txt"); // открываем поток
if(out.open()) { //Проверка открылся ли файл
for(int i = 0; i < N;i++) out << a[i]; //запись
out.close();//по завершению закрываем файл
}
return 0;
}

Спасибо. А допустим, если программа имеет такой вид как у меня? в чем моя ошибка?
Ответы:
это же C++, а там уже есть потоки
читай в msdn про ostream и перегруженный оператор <<
Для коллекции, например vector&lt;int&gt; v;
ofstream os("output_file.txt");
copy( v.begin(), v.end(), ostream_iterator<int>( os, "\n") );
Получите распишитесь:
void Print_File_Matrix(double end[][100],int x1,int y1,char *str)
{
 FILE *out=fopen(str,&quot;w&quot;);
 int i,j;
 i=j=0;
 for(i=0;i&lt;x1;i++,fprintf(out,&quot;\n&quot;))
   for(j=0;j&lt;y1;j++)
     fprintf(out,&quot;%2.3lf &quot;,end[i][j]);
 fprintf(out,&quot;\n&quot;);
 close(out);
}
Это запись двумерного массива типа double, функция принимает массив,размерность массива и строку(имя файла)


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.