VS2005, CPP *Сильно ногами не бить!!! Можно ли перемещать указатель таким образом: BYTE* Data = new BYTE[512]; BYTE* sData = Data; sData+=2; фактически получаем Data[2] Пример, выбделить память: Код (Text): BYTE* Buff = new BYTE[ANY_SIZE]; Дублировать указатель: Код (Text): BYTE* sBuff = Buff; Читаем из файла с перемещением указателя.. Код (Text): CFile mFile; int count=0; long breaded=0; ... count = mFile.Read(sBuff,64); if(count<=0 || breaded>ANY_SIZE)break; sBuff+=count; ... Какие могут быть камни? Выделяемая память всегда "прямая"?
Так а в чём вопрос? Код (Text): char *p1 = new char[20]; char *p2 = p1; обе переменные (указатели) имеют одинаковое значение и показывают на тот выделенный в heap буфер. Код (Text): char buff[200]; for (;;) { uint32 rsize = file.Read(buff, sizeof(buff)); if (rsize > 0) std::cout << "Read " << rsize << " bytes\n"; if (rsize < sizeof(buff)) break; } Чтение в массив на stack.