Ошибка “Stack around the variable was corrupted”

146
31 июля 2021, 00:50

Есть такой код, которые считает свободное место на диске:

#include "pch.h"
#include <iostream>
#include <Windows.h>
int main()
{
    DWORD FreeBytesAvailable;
    GetDiskFreeSpaceEx(
        L"D:",          // directory name
        (PULARGE_INTEGER)&FreeBytesAvailable,     // bytes available to caller
        NULL,     // bytes on disk
        NULL  // free bytes on disk
    );

    std::cout << FreeBytesAvailable;
}

Но, при завершении программы, вылетает ошибка:

Answer 1

Функция ожидает указателя на ULARGE_INTEGER, а вы почему-то передаете туда насильно приведенный указатель на DWORD. Неудивительно, что это ни к чему хорошему не приводит.

Объединение ULARGE_INTEGER содержит поле ULONGLONG QuadPart в качестве члена, который содержит все значение целиком. Так что если вы по какой-то причине не хотите просто воспользоваться ULARGE_INTEGER и настаиваете на подходе с "обычной переменной", то ваша переменная должна быть объявлена как ULONGLONG, а не как DWORD.

READ ALSO
Как Исправить функцию click

Как Исправить функцию click

добрий день надо написать предупреждения про переход на другую страницу на мобильной версии при клике есть функция на jquery при клик

151
Выпадающий список 10 000 городов с поиском [закрыт]

Выпадающий список 10 000 городов с поиском [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме

145
Прокрутка div колесиком мыши. Angular

Прокрутка div колесиком мыши. Angular

Как скролить div с контентом внутри? Подскажите пожалуйстаПробую так HTML:

345
Не получается центрировать ссылки по вертикали в flex

Не получается центрировать ссылки по вертикали в flex

Перепробовал кучу способов, куда я только не задавал align-items, ссылки просто прижимаются к верху и всеПрошу вашей помощи

154