void DB::praseModel() { fstream rdmodel; rdmodel.open((this->tablePath + MODEL_FILE_NAME).data(), ios::in | ios::binary); rdmodel.seekg(32); char temp[4]; //读属性总数 rdmodel.read(temp, 4); int model_num = ChartoInt(temp); Model *p = new Model[model_num + 1]; p[model_num].no = -1; // 读一个元组的大小 rdmodel.read(temp, 4); p[model_num].size = ChartoInt(temp); this->model = p; for (int i = 0; i < model_num; i++) { //读属性名 rdmodel.seekg(64 + 64 * i); rdmodel.read(p[i].name, 32); rdmodel.read(temp, 4); p[i].type = ChartoInt(temp); rdmodel.read(temp, 4); p[i].size = ChartoInt(temp); p[i].no = i; } rdmodel.close(); }
void Unhexify( _Inout_ PBYTE outdata, _In_ LPTSTR instr // outdata must be able to receive strlen(instr)/2 bytes ) { DWORD i = 0; size_t len = _tcslen(instr) / 2; for (i = 0; i < len; i++) { outdata[i] = 16 * ChartoInt(instr[(2 * i) + 0]) + ChartoInt(instr[(2 * i) + 1]); } }