функция ReadFile() window API

Рейтинг: 0Ответов: 1Опубликовано: 28.01.2023

Я хотел вывести информация из файла в консоль.

int main() {
    DWORD lpBuffer, dwTemp;
    wchar_t szPathToFile[] = L"C:\\Users\\Professional\\Desktop\\File.txt";
    HANDLE hFile = CreateFile(szPathToFile, GENERIC_READ, 0, NULL,
        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (INVALID_HANDLE_VALUE == hFile) {
        printf("problem");
    }
    bool processEnd = ReadFile(hFile, &lpBuffer, sizeof(lpBuffer), &dwTemp, NULL);
    if (!processEnd) {
        printf("problem asyncio or failure!");
    }
    cout << lpBuffer;
    CloseHandle(hFile);
    return 0;
}

сохраняю файл с данными в виде цифры 1. Запускаю:

3435973681

Пробую еще, но с другими цифрами: 2, 3; Закономерно увеличивает число на 1.

Вопрос: откуда берется такое число?

тип выводимых данный - unsigned long.

Ответы

▲ 0Принят

Да, саму цифру считывала как символ. Решение - приведение типов.

cout << (char)lpBuffer;