Людочка |
Отправлено: 09.03.2005, 09:23 |
|
Не зарегистрирован
|
1. Сохранение массива X в файл. Имя файла вводится пользователем.
2. Загрузка из файла ранее сохраненных данных в массив X.
Написать две версии программы:
в первой работу с файлом вести в текстовом режиме, во втором работу с файлом вести в бинарном режиме.
|
|
Konstantine |
Отправлено: 09.03.2005, 10:17 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
в какой оболочке? судя из вопроса — это скорее всего лабораторные работы (или задачи) и пишуться в DOS-овом С++ без API... уточните, pls...
|
|
AVC |
Отправлено: 09.03.2005, 10:59 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Если при чтении забыть о выяснении разамера массива и проверках корректности файла, то можно написать, например, так
CODE |
#include <stdio.h>
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
int arr[100]; for (int i=0; i < sizeof(arr)/sizeof(arr[0]); i++) arr[i] = i+100;
FILE *fout;
// текстовый формат — сохранить
fout = fopen("C:\\aaa.txt", "wt");
if (!fout) return;
for (int i=0; i < sizeof(arr)/sizeof(arr[0]); i++)
fprintf(fout, "%d\n", arr[i]);
fclose(fout);
// текстовый формат — прочитать
fout = fopen("C:\\aaa.txt", "rt");
if (!fout) return;
for (int i=0; i < sizeof(arr)/sizeof(arr[0]); i++)
fscanf(fout, "%D\n", &arr[i]);
fclose(fout);
{// контроль
AnsiString text;
for (int i=0; i < 10; i++) text += AnsiString(arr[i]) + "\r";
ShowMessage(text);
}
// двоичный формат — сохранить
fout = fopen("C:\\aaa.bin", "wb");
fwrite(arr, 1, sizeof(arr), fout);
fclose(fout);
// двоичный формат — прочитать
fout = fopen("C:\\aaa.bin", "rb");
fread (arr, 1, sizeof(arr), fout);
fclose(fout);
{// контроль
AnsiString text;
for (int i=0; i < 10; i++) text += AnsiString(arr[i]) + "\r";
ShowMessage(text);
}
}
|
Ввод имени файла — отдельный вопрос и его реализация зависит от оболочки.
Отредактировано AVC — 09/03/2005, 11:17 |
|
Bond |
Отправлено: 09.03.2005, 10:59 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 142
|
Массив фиксированного размера?
|
|
Bond |
Отправлено: 09.03.2005, 11:02 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 142
|
Вопрос снимается . Если же массив может быть переменного размера, то в начале файла нужно хранить размер массива.
|
|
AVC |
Отправлено: 09.03.2005, 11:08 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Если же массив может быть переменного размера, то в начале файла нужно хранить размер массива.
|
Маленькое уточнение — не нужно, а удобно. |
|