前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VS C++打开文件对话框报错:不能将char[]转换为LPWSTR

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

作者头像
渔父歌
发布2019-10-23 15:32:57
5960
发布2019-10-23 15:32:57
举报

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

测试代码:

#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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.10.19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档