How to use the CreateFile function using the Win32 API in C++

1 Answer

0 votes
#include <windows.h>
#include <iostream>
#include <string>

int main() {
    HANDLE hFile = CreateFileA(
        "data.txt",                 // File name
        GENERIC_READ | GENERIC_WRITE,  // Desired access
        0,                             // Share mode (exclusive)
        nullptr,                       // Security attributes
        CREATE_ALWAYS,                 // Creation disposition
        FILE_ATTRIBUTE_NORMAL,         // Flags and attributes
        nullptr                        // Template file
    );

    if (hFile == INVALID_HANDLE_VALUE) {
        std::cerr << "CreateFile failed. Error: " << GetLastError() << "\n";
        return 1;
    }

    std::string text = "Use CreateFile Function in C++\n";
    DWORD bytesWritten = 0;

    BOOL ok = WriteFile(
        hFile,
        text.c_str(),
        static_cast<DWORD>(text.size()),
        &bytesWritten,
        nullptr
    );

    if (!ok) {
        std::cerr << "WriteFile failed. Error: " << GetLastError() << "\n";
        CloseHandle(hFile);
        return 1;
    }

    std::cout << "Wrote " << bytesWritten << " bytes.\n";

    CloseHandle(hFile);

    return 0;
}



/*
run:

Wrote 31 bytes.

*/

 



answered Feb 12 by avibootz
edited Feb 12 by avibootz

Related questions

...