写入文件,给出错误的名称

时间:2014-05-20 07:24:05

标签: c++ windows winapi

我正在以下列方式创建文件:

if ((BmpFile = CreateFile((LPCWSTR)"Test.bmp",
                          GENERIC_WRITE,
                          0, NULL,
                          CREATE_ALWAYS,
                          FILE_ATTRIBUTE_NORMAL,
                          NULL)) == INVALID_HANDLE_VALUE)

但是创建的文件名称为“灭瑳戮灭”。

显然不是我想要的!我正在尝试学习Windows API,任何人都可以告诉我我必须改变什么才能让它输出我认为它应该的东西?我看过http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx并没有太多帮助我 - 我想因为我不知道我在找什么。

过早编辑:其他所有内容在函数中按预期工作。

1 个答案:

答案 0 :(得分:6)

您不能通过简单的投射来创建WSTR。如果您希望固定文本为宽字符串,请在文字前面应用L:

... = CreateFile( L"Test.bmp", ...