VS C++打开文件对话框报错:不能将char[]转换为LPWSTR

这个是字符集的问题,打开属性管理器->常规->字符集->使用多字节字符集



测试代码:

#include <windows.h>
#include <stdlib.h>
#include <iostream>

void readFile() {
    //调用系统对话框
    OPENFILENAME  fname;
    ZeroMemory(&fname, sizeof(fname));
    char strfile[200] = "*.txt";
    char szFilter[] = TEXT("text Files(*.txt)\0");
    fname.lStructSize = sizeof(OPENFILENAME);
    fname.hwndOwner = NULL;
    fname.hInstance = NULL;
    fname.lpstrFilter = szFilter;
    fname.lpstrCustomFilter = NULL;
    fname.nFilterIndex = 0;
    fname.nMaxCustFilter = 0;
    fname.lpstrFile = strfile;
    fname.nMaxFile = 200;
    fname.lpstrFileTitle = NULL;
    fname.nMaxFileTitle = 0;
    fname.lpstrTitle = NULL;
    fname.Flags = OFN_HIDEREADONLY | OFN_CREATEPROMPT;
    fname.nFileOffset = 0;
    fname.nFileExtension = 0;
    fname.lpstrDefExt = 0;
    fname.lCustData = NULL;
    fname.lpfnHook = NULL;
    fname.lpTemplateName = NULL;
    fname.lpstrInitialDir = NULL;
    HDC hDC = wglGetCurrentDC();
    HGLRC hRC = wglGetCurrentContext();
    GetOpenFileName(&fname);
    wglMakeCurrent(hDC, hRC);

    std::cout << fname.lpstrFile << std::endl;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容