windows程序设计 Unicode和多字节
Unicode和多字节 Unicode是宽字符 多字节是窄字符
| 类型 | 变量类型 | 初始化方式 |
| Unicode | LPWSTR | L"string" |
| 多字节 | LPSTR | "string" |
| 根据开发环境的设置自动适应 | LPTSTR | TEXT("string") |
代码演示
#include <windows.h> int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
)
{
//定义LPWSTR 类型的宽字符串
LPWSTR szUnicode = L"This is a Unicode String;嘿嘿";
//定义LPSTR 类型的窄字符串
LPSTR szMutliByte = "This is not a Unicode String;哈哈";
//定义LPTSTR 类型的自适用字符串
LPTSTR szString = TEXT("This string is Unicode or not depends on the option.呵呵"); //使用W版本的API函数,以宽字符串为参数
MessageBoxW(NULL, szUnicode, L"<字符编码1>", MB_OK);
//使用A版本的API函数,以窄字符串为参数
MessageBoxA(NULL, szMutliByte, "<字符编码2>", MB_OK);
//根据编译条件自动选择A版本火W版本的API函数,采用相适应的字符串类型为参数
MessageBox(NULL, szString, TEXT("<字符编码3>"), MB_OK);
return ;
}
windows程序设计 Unicode和多字节的更多相关文章
- windows程序设计 Unicode和多字节之间转换
Unicode转多字节:WideCharToMultiByte 多字节转Unicode:MultiByteToWideChar 代码演示 #include <windows.h> int ...
- Windows程序设计:格式化对话框的设计
刚开始学习Windows程序设计,磕磕碰碰,先做个小笔记缓缓神经,主要是将MessageBox这个Windows API函数的. MessageBox函数是许多人刚开始学习Windows程序设计或者是 ...
- windows程序设计.第一个windos程序
Windows程序设计(第5版) windows程序需要调用API. 第一个Windows程序 /*HelloMsg.c -- Displays "Hello World!" in ...
- windows程序设计01_utf8编码问题
坚持与妥协 从学程序的第一天老师就给我们说源代码应该使用utf8保存.因为先入为主,"源代码应该使用utf8"的观念已经在"学院派"出身的程序员脑子里根深蒂固. ...
- Unicode和多字节字符集
今天自己写的发现一个输出路径程序使用unicode字符集只能输出单个的首字符,问了一下同事,改为使用多字节字符集,问题解决了 于是上网看了他们的区别: 很多没看完,但起码了解到字符集的演变过程, 转 ...
- Windows 程序设计
一.Win32 API /******************************************************************** created: 2014/04/1 ...
- 关于《Windows程序设计(第五版)》中一个实例程序的疑问
最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实 ...
- windows 程序设计自学:添加图标资源
#include <windows.h> #include "resource.h" LRESULT CALLBACK MyWndProc( HWND hwnd, // ...
- Unicode和多字节字符集 (MBCS) 杂谈
这个估计是很多人曾经头疼过的问题,现在的VC版本基本都支持Unicode和多字节字符集 (MBCS),在进行MFC编程时VC的默认设置是unicode字符集.但是我们通常需要做一些代码移植的工作,如果 ...
随机推荐
- Linux shell去除字符串中所有空格
Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g'
- Oracle分析函数-统计(sum、avg、max、min)
很多需求中都涉及到统计:均值.累计.范围均值.相邻记录比较等.这些操作会统计多次,或有明确的统计范围,或返回的记录统计的数据集不同... 根据场景不同可分为如下几类: 1. 全统计 2. 滚动统计 3 ...
- 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)
在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色的资源,因此 ...
- go对json对象的生成和解析
https://blog.csdn.net/benben_2015/article/details/78917374
- linux 安装svn客户端
安装命令:yum install -y subversion 客户端使用命令: svn help 帮助命令 svn checkout --help 子帮助命令
- Scala 按名称参数调用函数 与 =>的用法
转自:http://blog.csdn.net/shenxiaoming77/article/details/54835679 通常情况下,函数的参数是传值参数:即参数的值在它被传递给函数之前被确定. ...
- CF 977E Cyclic Components
E. Cyclic Components time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test]解决办法
在进行简单的Junit单元测试时,测试一直报错: 先来看一下我的单元测试类: import org.junit.Test; import org.junit.runner.RunWith; impor ...
- Retrofit2 项目配置
在项目的 app build.gradle 文件中加入 dependencies { // Retrofit2implementation 'com.squareup.retrofit2:retro ...
- 关于 python中的转义字符
"abc\n" 前面加 r,表示原生输出,不转义.实际上是用 \代替 \\,其实是已经转义过了,并不是不转义. 看这个例子: print(r"abc \n") ...