zoukankan      html  css  js  c++  java
  • 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?

    设置工程属性中的字符集Character Set为多字节字符集还是Unicode引发两个bug后,找到如下资料:

    解决方法一:
    通常手动输入的字符串都是const char*(即LPCSTR)类型的,因此只需将该句中的MessageBox改为MessageBoxA即可。
    解决方法二:
    参数使用“_T”宏:
    MessageBox(NULL,_T("Open image failed!"),_T("error"),MB_OK);
    或是:
    MessageBox(NULL, L"Openimage failed!", L"error",MB_OK);
    /*
    ************************************************************************************************************************************************
    * 当工程是Unicode编码时,_T将括号内的字符串以Unicode方式保存;当工程是多字节编码时,_T将括号内的字符串以ANSI方式保存
    * 关键字“L”,则是不管编码环境是什么,都是将其后面的字符串以Unicode方式保存。
    *************************************************************************************************************************************************
    */
    1、用THCAR代替char
    2、字符串加_T(""),如_T("你好")
    3、用_tcscpy等代替strcpy等
    ANSI操作函数以str开头,如strcpy(),strcat(),strlen();
    Unicode操作函数以wcs开头,如wcscpy,wcscpy(),wcslen();
    ANSI/Unicode互为兼容的操作函数以_tcs开头 _tcscpy(C运行期库);
    ANSI/Unicode互为兼容的操作函数以lstr开头 lstrcpy(Windows函数);
    考虑ANSI和Unicode的兼容,需要使用以_tcs开头或lstr开头的通用字符串操作函数。

    最后加上头文件 #include <tchar.h>


    参考链接:http://zhidao.baidu.com/question/327887942.html?qbl=relate_question_2&word=LPWSTR
  • 相关阅读:
    https://vjudge.net/problem/计蒜客-44317/origin
    zsh终端配置环境变量:
    python库路径问题
    pandas 常用API
    https://codeforces.com/contest/1301/problem/B
    vue中8种组件通信方式, 值得收藏!
    让你减少加班的15条高效JS技巧!记得收藏哦
    那个炒鸡有趣的HTML5标签 —— <dataList>
    前端面试之浏览器/HTML/CSS问题
    插件界的瑞士军刀,vs code已经无所不能!
  • 原文地址:https://www.cnblogs.com/loanhicks/p/5874632.html
Copyright © 2011-2022 走看看