Q:

C++ - Is moving char pointer forward by adding integer of bytes legal/recommended? 

I am looking for some ways to advance pointers to the beginning of files in compressed archives. 
I have a character pointer to the beginning of the file that has been read into memory.  The archive directory contains the offsets of each file.  Is it legal/recommended to say:
char* beginning; //Imagine this is assigned to the beginning of the file in memory
int file1OffsetBytes = 1000; // Imagine the first file is 1000 bytes into the file

char* file1 = beginning + file1OffsetBytes;

Is this a bad idea?  What is another way to do this? 

A:

that is quite Ok.  You only have to take care about out of bounds jumps...
and one more thing: here is an size_t or ssize_t type usually used for memory buffers offset.