Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
#1

Указатель на двумерный массив - C++

02.12.2013, 16:24. Просмотров 767. Ответов 2
Метки нет (Все метки)

хочу заменить вот такую запись:
C++
1
2
3
4
5
6
7
8
fs.read((char*)&size_struct[0], sizeof(int));
        fs.read((char*)&size_arr[0], sizeof(int));     char * item0 = new char[size_struct[0]*size_arr[0]];  fs.read((char*)item0, size_struct[0]*size_arr[0]);      
        fs.read((char*)&size_struct[1], sizeof(int));
        fs.read((char*)&size_arr[1], sizeof(int));     char * item1 = new char[size_struct[1]*size_arr[1]];  fs.read((char*)item1, size_struct[1]*size_arr[1]);
......................//и так далее 
    pt[0] = (wchar_t*)&item0[0];
    pt[1] = (wchar_t*)&item1[0];
....................//и тд
на такую:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        std::fstream fs(L"lib//elements.data", std::ios::in | std::ios::binary);
        fs.seekg(136, ios_base::beg);
        for(int i=0;i<19;i++)
        {
            fs.read((char*)&size_struct[i], sizeof(int));
            fs.read((char*)&size_arr[i], sizeof(int));
            char ** item = new char*[i];
            for(int j=0;j<=i;j++)
            {
                item[j]=new char[size_struct[i]*size_arr[i]];
            }
            fs.read((char*)item[i], size_struct[i]*size_arr[i]);
            pt[i] = (wchar_t*)&item[i][0];
        }
 
        fs.close();
не работает.... а может?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2013, 16:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Указатель на двумерный массив (C++):

Указатель на двумерный массив - C++
Как сделать то же самое с двумерным массивом? Как работать с двумерными или n- мерными массивами через указатель? #include &lt;iostream&gt; ...

Указатель на двумерный массив - C++
Допустим, у меня есть функция: void A(float **b) { b=1; } Тогда почему выдает ошибку при следующем: const int a=100;

Указатель на двумерный массив - C++
A эквивалентно *(*(A+i)+j). Просто давайте допустим, что у нас матрица A. Как вычислить допустим А?

Указатель на двумерный массив - C++
Здравствуйте. Подскажите пожалуйста, а существуют ли в C/C++ указатели: 1) на двух-трёхмерные массивы 2) на массивы из строк...

указатель на двумерный массив - C++
Делая игру морской бой, я столкнулся с 1-ой проблемой: void place_ships(char &amp;(&amp;(map+13)+29)) //или (char **map) или (char &amp;map) или...

Указатель на двумерный массив указателей - C++
char* err = {{&quot;abc&quot;}, {&quot;def&quot;}}; char ***ptr; ptr = (char ***)err; printf(&quot;%s, %s&quot;, *err + 2, *ptr + 2);Добрый день всем, есть...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
liverpool777
-2 / 6 / 0
Регистрация: 10.07.2013
Сообщений: 44
02.12.2013, 19:10 #2
Что именно не работает?

Добавлено через 15 минут
если я правильно понял
Цитата Сообщение от lips Посмотреть сообщение
char ** item = new char*[i];
должно быть перед циклом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
size = 19;
char ** item = new char*[size];
for(int i=0;i<size ;i++)
{
     fs.read((char*)&size_struct[i], sizeof(int));
     fs.read((char*)&size_arr[i], sizeof(int));
     for(int j=0;j<=i;j++)
     {
          item[j]=new char[size_struct[i]*size_arr[i]];
     }
     fs.read((char*)item[i], size_struct[i]*size_arr[i]);
            pt[i] = (wchar_t*)&item[i][0];
}
1
lips
2 / 2 / 0
Регистрация: 03.01.2012
Сообщений: 287
03.12.2013, 08:13  [ТС] #3
Цитата Сообщение от liverpool777 Посмотреть сообщение
Что именно не работает?

Добавлено через 15 минут
если я правильно понял

должно быть перед циклом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
size = 19;
char ** item = new char*[size];
for(int i=0;i<size ;i++)
{
     fs.read((char*)&size_struct[i], sizeof(int));
     fs.read((char*)&size_arr[i], sizeof(int));
     for(int j=0;j<=i;j++)
     {
          item[j]=new char[size_struct[i]*size_arr[i]];
     }
     fs.read((char*)item[i], size_struct[i]*size_arr[i]);
            pt[i] = (wchar_t*)&item[i][0];
}
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2013, 08:13
Привет! Вот еще темы с ответами:

Указатель на двумерный массив символов - C++
Доброго времени суток. Особо не сталкивался со строками, но сейчас возникла необходимость, так же возникли и проблемы. Пытаюсь...

Двумерный массив через указатель - C++
как вывести двумерный массив через указатель? с одномерным понятно,а как так же с двумерным сделать? int a = { 1, 2, 3, 4, 5 }; ...

Указатель на двумерный массив и выше - C++
Всем привет!Сразу к делу. Я решил по лучше разобраться в указателях и столкнулся с таким вопросом как реализовать такую вещь именно так...

Как обьявить указатель на двумерный массив? - C++
обьясните на примере как обьявить указатель на двумерный массив и потом обращаться к элементам через указатель


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru