Visual C++ 中的创建文件路径错误

CreateFile path error in Visual C++

本文关键字:文件 路径 错误 创建 C++ Visual      更新时间:2023-10-16
for (int i = 0; i < 1000; i++)
    {
        sprintf_s(text, "Text from process %drn", GetCurrentProcessId());
        HANDLE hFile = CreateFile(_T("\\.\Device\HarddiskVolume2\dev\test\test.txt"), GENERIC_WRITE, FILE_SHARE_READ, 0, OPEN_ALWAYS, 0, 0);
        if (hFile == INVALID_HANDLE_VALUE)
        {
            DWORD err = GetLastError();
            cout << "Error opening file " << GetLastError() << " at index " << i << endl;
            break;
        }
        SetFilePointer(hFile, GetFileSize(hFile, NULL), NULL, FILE_BEGIN);
        DWORD bytes;
        WriteFile(hFile, text, strlen(text), &bytes, NULL);

        CloseHandle(hFile);

    }

我正在尝试使用实际设备名称打开写入\设备\硬盘卷 2 映射到 c:\该文件夹已存在于 C 盘中我在打开文件

请参考ERROR_PATH_NOT_FOUND

3 (0x3)

系统找不到指定的路径。

因此,请尝试检查路径是否可用..\Device\HarddiskVolume2\dev\test\test.txt。这是因为程序找不到路径

或者试试这个:

..\Device\HarddiskVolume2\dev\test\test.txt如果路径与 EXE 位于同一目录中。

原因

创建文件时,编译器会查看exe文件所在目录中的路径。如果未找到,则程序将签入运行该程序的Drive

还要尝试从创建文件获取一些信息。

希望这对你有帮助。