Как конвертировать код ошибки в её описание
Я пытаюсь открыть не существующий файл, потом с помощью функции GetLastError я узнаю код ошибки, после с помощью функции пытаю конвертировать этот код в описание используя FormatMessage. Я не до конца понимаю где именно у меня хранится описание моей ошибки и что именно выводить. Я пытался вывести lpMsgBuf - как я понимаю это указатель на буфер для форматирования уведомления об ошибке. Пытался вывести через printf и MessageBox но мне выбивало ошибки. Вот мой код(оставил в коде только что что мне кажется правильным):
#define _CRT_SECURE_NO_WARNINGS
#include <windows.h>
#include <stdio.h>
int main()
{
FILE* file = fopen("file.txt", "r");
DWORD ErrCode = GetLastError();
printf("Number of Error:%d",ErrCode);
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER || FORMAT_MESSAGE_FROM_SYSTEM, NULL,
ErrCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
// Default language
(LPTSTR)&lpMsgBuf, 0, NULL);
return 0;
}
Не судите строго , я только учусь. Что мне нужно вывести? Где храниться информация об сомой ошибке ?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Ну, проще всего, мне кажется, так:
char buf[1024];
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,GetLastError(),NULL,
buf,1024,NULL);
printf("Error: %s\n",buf);