@dominy

Как прочитать масив данных динамической длинны?

Здравствуйте, у меня в библиотеке есть функция чтения
template <typename type>
	static type readMemory(uintptr_t offset) {
		type value;
		isLastSuccessful = ReadProcessMemory(targetHandle, (LPVOID)offset, &value, sizeof(type), 0);
		return value;
	}

Мне нужно используя ёё лишь один раз прочитать массив данных динамической длинны
Тоесть нужно сделать
wchar_t* readWcharArray(uintptr_t adrArray, int length) {
	wchar_t* str = new wchar_t[length];
	for (int i = 0; i < length; i++) {
		str[i] = readMemory<wchar_t>(adrArray + sizeof(wchar_t) * i); 
	}
	return str;
}
но без цикла, возможно ли это не изменяя саму библиотеку...
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Вам придется переписать функцию readMemory, чтобы она принималаlength и читала length*sizeof(type). Или вызывайте прямо ReadProcessMemory в вашей функции.

Текущая реализация для вашей цели не подходит вообще. Тип шаблона должен быть известен на этапе компиляции. А вы хотите как-то в нем передать динамическую длину.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы