С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Запись в файл Добрый день, первый раз работаю с записью в файл, нашла такой образец кода Handle FileHandle; FileHandle=CreateFile("file1.txt",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, 0); char Buf; itoa(m_nTimeDIV_start,Buf,10); ReadFile(FileHandle, Buf, sizeof(Buf),NULL); CloseHandle(FileHandle); Но он... https://www.cyberforum.ru/ win-api/ thread2777592.html Иероглифы при чтении файла C++ WinAPI
Здравствуйте, уважаемые форумчане! Впервые пользуюсь WinAPI и Visual Studio в принципе. Есть задачка разбить текст в файле (например, Здравствуйте, уважаемые форумчане!) на лексемы. Чтобы сам процесс выполнения задачи был для меня наглядным, я хочу выводить в надпись (hLabel1) на форме какую-нибудь важную для меня информацию. Прежде всего я хочу вывести на форму содержимое файла. ...
C++ WinAPI Получить название COM порта по GUID и описанию устройства https://www.cyberforum.ru/ win-api/ thread2777239.html
Добрый день! Хочу автоматизировать подключение к виртуальному com-порту своего устройства. Чтобы каждый раз не залезать и не смотреть какой com-port создался. Я попробовал решить это вот так: if (SetupDiClassGuidsFromNameA("Ports", guidlist, 256, &size)) {//Тут получаю GUID всех подключенных устройств класса Ports HDEVINFO info = SetupDiCreateDeviceInfoList(guidlist, NULL);//По совету...
C++ WinAPI Почему в разных примерах константы по разному называются? WM_COPY, CM_EDITCOPY, IDM_COPY https://www.cyberforum.ru/ win-api/ thread2776849.html
Смотрю примеры вставки в буфер обмена. У меня компилируется только WM_COPY. Это все одно и тоже? WM_COPY, CM_EDITCOPY, IDM_COPY? Если да, как встречая в примере IDM_COPY найти правильный тогда аналог?
C++ WinAPI Как используя функцию PlgBlt() повернуть окно на определённый угол?
Добрый вечер, как можно с помощью функции PlgBlt() выполнить поворот любого HDC на определённый угол(вспомогательная функция), как это можно реализовать?
C++ WinAPI После работы оконного приложения перестает передаваться WM_COMMAND. [решено но правильно ли?] После вызова функции по кнопке из оконного приложения перестает передаваться сообщение WM_COMMAND. На нем у меня сидит выход по ESC. Также обнаружил что это сообщение не передается даже если просто кликнуть по окнам "edit" в приложении. Погуглив нашел: Проблема была в том, что после нажатия кнопки фокус переключался на эту самую кнопку и оставался на ней. Чтобы переместить фокус обратно на... https://www.cyberforum.ru/ win-api/ thread2775728.html
C++ WinAPI Как сделать многострочное текстовое окно? https://www.cyberforum.ru/ win-api/ thread2775311.html
Я в С++ новичок, перехожу с VB. Работаю пока на DEV C++. Столкнулся с проблемой - в интернете не нашел исходников многострочного текстового окна. Аналога TexBox в VB. В Borland и Visual такие окна создаются парой кликов - а как сделать в DEV C++? Есть такая возможность?
C++ WinAPI Не добавляется строка в ComboBox, WinApi, C++
Почему не добавляется элемент списка в ComboBox? Я повторил в точности, как на ютубе и там у автора видео всё работало. Автор рассказывает на 7:12 - https://www.youtube.com/watch?v=BHuznLiab48&t=446s Ошибка говорит: invalid conversion from 'const char*' to 'LPARAM' {aka 'long long int'} | Я так понял, что я должен использовать число последним аргументом SenMessage, но почему тогда код с...
C++ WinAPI Обмен данными между процессами в Windows https://www.cyberforum.ru/ win-api/ thread2774743.html
Обмен данными между процессами в Windows с помощью отображения файлов в память. Как делается?
C++ WinAPI Некорректная запись в файл https://www.cyberforum.ru/ win-api/ thread2774731.html
Здравствуйте, написал следующий код case WM_COMMAND: { int SIZE = 10; char Login; char Password; char logBuf; char passBuf;
C++ WinAPI Ошибка невозможно преобразовать аргумент
Вот код. При нажатии кнопки, должен выводиться в fileListBox1 запущенные процессы. Но выдает ошибку: Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка C2664 "int System::Windows::Forms::ListBox::ObjectCollection::Add(System::Object ^)": невозможно преобразовать аргумент 1 из "WCHAR " в "System::Object ^" fileListBox1->Items->Clear(); PROCESSENTRY32 peProcessEntry;...
C++ WinAPI Вывести запущенные процессы в FileListBox Всем привет. Столкнулся с такой вот проблемкой. Не знаю как вывести все запущенные процессы в FileListBox. Есть кто знает как это сделать? https://www.cyberforum.ru/ win-api/ thread2774618.html
1 / 1 / 0
Регистрация: 27.04.2020
Сообщений: 59
0

Исключение в xmemory по окончанию работы программы (При работе с файлом) - C++ WinAPI - Ответ 15228697

01.02.2021, 20:05. Показов 1389. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Есть класс User, который хранит в себе некоторые данные (Не знаю нужна ли это информация, но вот класс)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#pragma once
 
#include <string>
#include <iostream>
 
class User
{
    std::wstring username;
    size_t nCount; // всего попыток
    size_t nTrue; // правильных ответов
    size_t nFalse; // неправильный ответов
    size_t nRepeat; // повторное решение примеров
    size_t withHint; // решение с подсказками
 
 
public:
    User() : User(L"") {}
    User(std::wstring username)
    {
        this->username = username;
        nCount = 0;
        nTrue = 0;
        nFalse = 0;
        nRepeat = 0;
        withHint = 0;
    }
 
    // -- сеттеры --
    void set_username(std::wstring username) { this->username = username; }
    void set_nCount(size_t nCount) { this->nCount = nCount; }
    void set_nTrue(size_t nTrue) { this->nTrue = nTrue; }
    void set_nFalse(size_t nFalse) { this->nFalse = nFalse; }
    void set_nRepeat(size_t nRepeat) { this->nRepeat = nRepeat; }
    void set_withHint(size_t withHint) { this->withHint = withHint; }
    // -- геттеры --
    std::wstring get_username() const noexcept { return username; }
    size_t get_nCount() const noexcept { return nCount; }
    size_t get_nTrue() const noexcept { return nTrue; }
    size_t get_nFalse() const noexcept { return nFalse; }
    size_t get_nRepeate() const noexcept { return nRepeat; }
    size_t get_withHint() const noexcept { return withHint; }
    // -- операция сравнения по имени пользователя --
    bool operator==(const User& other);
    // -- сложение данных одного пользователя --
    User operator+=(const User& other);
    friend User operator+(const User& first, const User& second);
 
};
Есть вектор таких объектов. В начале программы необходимо прочитать бинарный файл, взять из него эти объекты и поместить в вектор. По окончанию работы программы, заново заполнить файл данными из этого вектора
Функция чтения данных:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void ReadUsersFromFile()
{
    HANDLE file = CreateFile(TEXT("UserData.bin"), GENERIC_READ, FILE_SHARE_READ, NULL,
        OPEN_EXISTING, 0, NULL);
    DWORD buffer;
    LARGE_INTEGER size;
    User user;
    GetFileSizeEx(file, &size);
        // Число элементов = size.QuadPart / sizeof(user).
    size_t countObj = size.QuadPart / sizeof(user);
    for (size_t i = 0; i < countObj; ++i)
    {
        AllSeansUsers.push_back(user);
    }
    for (size_t i = 0; i < countObj; ++i)
    {
        ReadFile(file, &AllSeansUsers[i], sizeof(AllSeansUsers[i]), &buffer, NULL);
    }
    CloseHandle(file);
}
Функция записи данных:
C++
1
2
3
4
5
6
7
8
9
10
11
void WriteUsersInFile()
{
    DWORD buffer;
    HANDLE file = CreateFile(TEXT("UserData.bin"), GENERIC_WRITE, FILE_SHARE_READ, NULL,
        OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    for (size_t i = 0; i < AllSeansUsers.size(); ++i)
    {
        WriteFile(file, &AllSeansUsers[i], sizeof(AllSeansUsers[i]), &buffer, NULL);
    }
    CloseHandle(file);
}
И вот вроде работает, но по окончанию работы программы, она выдает исключение в xmemory. Я так понял чтении данных из файла есть проблемы с памятью, но не понял как решить проблему. Какие есть варианты?

Добавлено через 52 минуты
Изменил сборку проект с Debugx86 на Releasex86 и проблемы больше нет. Но все таки такое странное поведение программы настораживает и хотелось бы знать, в чем проблема

Вернуться к обсуждению:
Исключение в xmemory по окончанию работы программы (При работе с файлом) C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2021, 20:05
Готовые ответы и решения:

Ошибка при работе программы с текстовым файлом
Суть программы - Если строка начинается с цифры, то перед ней поставить левую круглую скобку, а в...

При работе программы вылетает исключение NullReferenceException
Добрый вечер, при работе программы выливает исключение на строчки вот само исключение //Copy...

Выход из программы по окончанию ее работы
Пишу консольное приложение и хочу запускать его через терминал. Но по окончанию работы программа не...

Ошибка по окончанию работы программы: Runtime error 104 at 0000:05fc
по окончании работы программы программы, после всех расчетов, появляется строка runtime error 104...

2
01.02.2021, 20:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2021, 20:05
Помогаю со студенческими работами здесь

Исключение при работе с pictureBox (задание картинки при работе с формой)
Хочу задать изображение в компоненте pictureBox во время разработки формы, чтоб при запуске проги...

Как в консольном приложении по окончанию работы программы задать возврат кода ошибки (ErrorLevel)
Вот возьмем консольный WinRar, к примеру. Код возврата|Описание 0|Операция успешно завершена....

Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом
Помогите пожалуйста : С помощью текстового редактора создать текстовый файл file1. Переписать...

Ошибка при использовании ADODB.CONNECTION при работе с dbf-файлом
Добрый день! Написала макрос с использованием adodb.connection. макрос удаляет строки из файла dbf....

Закрывает консоль при выходе из функции, при работе с файлом!
Функция: void ShowList() { ifstream out(FileName); //FileName - путь к файлу Car...

Непонятка при работе с файлом
Есть проблема при работе с файлом. Нужно удалить гласные из текстового файла. Непонятно, почему...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru