pair<unsigned int,vector<short int> > getSequence(ifstream& s){ vector<short int > sequence; unsigned int num=0,i; short int number; char size[4],tmp_number[2]; s.readsome(size,4); //read how many pair bytes are there for read num = 0x00 | ((unsigned int)size[0]<<0) | ((unsigned int)size[1]<<8) | ((unsigned int)size[2]<<16) | ((unsigned int)size[3]<<24); //and read them for(i=0;i<num;i++){ s.readsome(tmp_number,2); number = 0x00 | (tmp_number[0]<<0) | (tmp_number[1]<<8); if (number>=0) sequence.push_back(number); } //return number of 2-byte elements in file, and vector which contains nonnegative numbers return make_pair(num,sequence); }