Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 08.11.2013
Сообщений: 11

Создать массив заранее неизвестной длины для работы с файлом

24.12.2013, 22:24. Показов 2356. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. У меня такая проблема поиск мне толком не помог. Мне нужно создать массив заранее неизвестной длины для работы с файлом. Обьявляю пустой массив :
C#
1
byte[] fileBuffer;
Считываю :
C#
1
2
3
4
5
6
7
8
9
10
        public void ReadFileToBuffer(string f)
        {   
            int filesize;
            FileStream fs = new FileStream(f, FileMode.Open ,FileAccess.ReadWrite);
            fs.Seek(0, 0);
            filesize = Convert.ToInt32(fs.Length);
            byte[] fileBuffer = new byte[filesize];
            fs.Read(fileBuffer, 0, filesize);
            fs.Dispose();
         }
Пытаюсь получить в другой функции доступ к данным а их там нет.Для этих целей в С++ использовались указатели.В Шарпе они означают небезопасный код. Так какую альтернативу нужно использовать подскажите?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.12.2013, 22:24
Ответы с готовыми решениями:

Возможно ли создать массив неизвестной заранее размерности?
Собственно, сабж в названии. Можно ли получить от пользователя N, где N - размерность массива, создать его и заполнить рандомными числами?...

Ввод массива заранее неизвестной длины
#include <iostream> using namespace std; int main () { int n; // ввод неизвестного массива int*mass = new int ; for (int i...

Ввод массива заранее неизвестной длины
#include <iostream> #include <math.h> using namespace std; int main() { int arr, a = 0; cout << "Вводите...

1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
25.12.2013, 09:59
1 - Если вы внутри функции объявляете переменную, она только там и доступна. То есть
C#
1
byte[] fileBuffer = new byte[filesize];
доступен исключительно в методе ReadFileToBuffer.

2 - Метод Read не гарантирует, что будет прочитано все filesize байт. В теории он может считать не более размера кластера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.12.2013, 09:59
Помогаю со студенческими работами здесь

Массив символов неизвестной длины
Добрый утро/день/вечер. Дело такое: вводится строка состоящая из слов и чисел(целых), разделяют все это безобразие разнообразные символы:...

Заполнить двумерный массив неизвестной длины
Всем привет, пишу на C#, надо срочно написать код на С++ и я тупо ничего не догоняю ) Необходимо заполнить двумерный массив неизвестной...

Выделить память под массив неизвестной длины
для программы нужен массив int Array т.е. длину строки я знаю, а сколько строк у меня будет - не представляю. я знаю, что...

Выделение памяти в цикле под массив неизвестной длины
Всем привет. Есть файл, читаю по слову в string. Передаю в указатель на динамический массив char и обрабатываю. Перед концом итерации...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru