Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
6 / 6 / 3
Регистрация: 03.01.2012
Сообщений: 441
1

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

02.12.2013, 16:24. Показов 2034. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2013, 16:24
Ответы с готовыми решениями:

Указатель на двумерный массив
Здравствуйте. Программирую в Visual Studio 2017, на скриншоте собственно сама проблема. Как все так...

Указатель на двумерный массив
#include &lt;iostream&gt; using namespace std; int a = { 0 }, b = { 1 }; void foo(int val) { int...

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

Указатель на двумерный массив
Как сделать то же самое с двумерным массивом? Как работать с двумерными или n- мерными массивами...

2
-2 / 6 / 1
Регистрация: 10.07.2013
Сообщений: 44
02.12.2013, 19:10 2
Лучший ответ Сообщение было отмечено lips как решение

Решение

Что именно не работает?

Добавлено через 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
6 / 6 / 3
Регистрация: 03.01.2012
Сообщений: 441
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2013, 08:13

Указатель на двумерный массив
Возможно ли создать указатель на двумерный массив для вызова его в функции?

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

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

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


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

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

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