Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 02.04.2023
Сообщений: 16

С++ Builder (Android): сохранение/чтение массива целых чисел с использованием TFileStream

29.07.2023, 19:54. Показов 1902. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет.

Я пытаюсь сохранить и прочитать массивы целых чисел с помощью TFileStream следующим образом:

Сохранить матрицу (не выдает ошибок...)

C++
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
int **M;
 
M = new int *[10];
 
for(int i=0;i<10;i++)
{
M[i] = new int[100];
}
 
// TFileStream *file;
 
UnicodeString PathFree = System::Ioutils::TPath::GetSharedDocumentsPath()+"/";
AnsiString NomArch =PathFree + "P.prq";
 
TFileStream *file = new TFileStream(NomArch, fmCreate);
 
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 100; j++)
{
M[i][j] = j;
file->Write(M[i][j], sizeof(int));
 
}
}
 
FileClose(file->Handle)
Читать матрицу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int **Mz;
 
M = new int *[10];
 
for(int i=0;i<10;i++)
{
M[i] = new int[100];
}
 
UnicodeString PathFree = System::Ioutils::TPath::GetSharedDocumentsPath()+"/";
AnsiString NomArch =PathFree + "P.prq";
 
TFileStream *file = new TFileStream(NomArch, fmOpenRead);
 
for(int i = 0; i < 3; i++)
{
  for(int j = 0; j < 100; j++) 
 {
  file->Read(M[i][j],sizeof(int));
 }
}
 
FileClose(file->Handle);

получаю ошибку на линии:
file->Read(M[i][j],sizeof(int));
не распознает Read как метод Tfilestream.

Что я делаю не так? Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2023, 19:54
Ответы с готовыми решениями:

Заполнение массива целых чисел единицами с использованием memset
Доброго времени суток! Извините заранее за такой глупый вопрос, но как с помощью memset заполнить массива int единицами? Просто после ...

С использованием указателя. Даны два одномерных массива целых чисел А и В, сформировать массив С, содержащий элементы массива А , присутствующий в массиве В в нескольких экземплярах.
(Элементы массива С не должны повторяться) Нужен полный текст программы, заранее благодарен

Быстрая сортировка массива целых чисел, с использованием указателей и адресной арифметики
# include &lt;stdio.h&gt; # include &lt;stdlib.h&gt; void QuickSort(int *a, int size){ int *left = a; // Адрес 1 элемента int *right...

3
2622 / 1633 / 266
Регистрация: 19.02.2010
Сообщений: 4,335
29.07.2023, 21:07
Цитата Сообщение от Drummer1972 Посмотреть сообщение
Что я делаю не так?
Не значение элемента массива надо в функцию пихать - а адрес этого элемента:
file->Read(&M[i][j],sizeof(int));
(тегом кода не оформлял для того, чтобы подсветить нужное исправление)
1
Модератор
 Аватар для D1973
9907 / 6444 / 2455
Регистрация: 21.01.2014
Сообщений: 27,354
Записей в блоге: 3
29.07.2023, 21:15
0. Какая конкретно ошибка?
1. Чем простые текстовые файлы не устраивают?
2. При чем тут Android?

По сабжу: см. тут
1
0 / 0 / 0
Регистрация: 02.04.2023
Сообщений: 16
30.07.2023, 11:46  [ТС]
Спасибо вам обоим за ответы.

Если я храню значения массива:

file->Write(&M[i][j], sizeof(int));
Я правильно прочитал значения из массива:

file->Read(&M[i][j],sizeof(int));
.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2023, 11:46
Помогаю со студенческими работами здесь

Из множества целых чисел выделить кубы целых чисел. Написать с использованием подпрограмм
Из множества целых чисел 1..100 выделить множество чисел, являющихся, в свою очередь, кубами целых чисел. Написать программу и...

TfileStream чтение данных
Начал работать с файловым потоком tfilestream, пытаюсь делать запись и чтение, с записью проблем нет: var f:tfilestream; i:integer; ...

Чтение текстового файла из TFileStream
Добрый день. Читаю текстовый файл TFileStream (т.к. файл открыт для записи другой программой и просто по-паскалевски его открыть нельзя),...

TFileStream и сохранение разных данных в одном файле.
Здравствуйте. Задавал вопрос как сохранить разные данные в одном файле. Казалось разобрался, но вот проблема с помощью TFileStream...

Сохранение и открытие бинарного файла используя TFilestream
Блин, я знаю как это сделать дефолтной библиотекой языка но мне просто очень хочется реализовать это через TFilestream. Я вроде написал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru