​1.定义文件中的声明

2.百度百科显示:

LPCTSTR用来表示你的字符是否使用UNICODE, 如果你的程序定义了UNICODE或者其他相关的宏,那么这个字符或者字符串将被作为UNICODE字符串,否则就是标准的ANSI字符串

L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。

P表示这是一个指针

C表示是一个常量

T表示在Win32环境中, 有一个_T宏

STR表示这个变量是一个字符串

3.什么是UNICODE?

统一码(Unicode),也叫万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式发布1.0版本,2021年9月14日发布14.0版本。统一码(Unicode)包含ASCII码,'\u0000'到'\u007F'对应全部128个ACSII字符。

Unicode是一种字符编码方法,它占用两个字节(0000H—FFFFH),容纳65536个字符,这完全可以容纳全世界所有语言文字的编码。在Unicode里,所有的字符被一视同仁,汉字不再使用“两个扩展ASCII”,而是使用“1个Unicode”,也就是说,所有的文字都按一个字符来处理,它们都有一个唯一的Unicode码

BYTE data_utf8[] = {0xE6, 0xB1, 0x89, 0xE5, 0xAD, 0x97}; // UTF-8编码

WORD data_utf16[] = {0x6c49, 0x5b57}; // UTF-16编码

DWORD data_utf32[] = {0x6c49, 0x5b57}; // UTF-32编码

Windows NT是使用Unicode进行开发的,因此整个系统都是基于Unicode的。如果调用一个API函数并给它传递一个ANSI(ASCII字符集以及由此派生并兼容的字符集,如:GB2312,通常称为ANSI字符集)字符串,那么系统首先要将字符串转换成Unicode,然后将Unicode字符串传递给操作系统。如果希望函数返回ANSI字符串,系统就会首先将Unicode字符串转换成ANSI字符串,然后将结果返回给您的应用程序。进行这些字符串的转换需要占用系统的时间和内存。如果用Unicode来开发应用程序,就能够使您的应用程序更加有效地运行。

4.Windows定义的Unicode数据类型

WCHAR Unicode字符;

PWSTR 指向Unicode字符串的指针;

PCWSTR 指向一个恒定的Unicode字符串的指针;

对应的ANSI数据类型为CHAR,LPSTR和LPCSTR;

ANSI/Unicode通用数据类型为TCHAR,PTSTR,LPCTSTR。

参考1:https://blog.csdn.net/u010679895/article/details/9988649

参考2:c++中LPCTSTR,LPTSTR 解释_u011555996的博客-CSDN博客_c++ lpctstr

参考3:VC++中LPCTSTR、CString、char *、string之间的相互转换_技术成长脚步的技术博客_51CTO博客_lpctstrc

​​

理解VC++中LPCTSTR的含义相关推荐

  1. VC中GetLastError()获取错误信息的使用,以及错误代码的含义

    在VC中编写应用程序时,经常需要涉及到错误处理问题.许多函数调用只用TRUE和FALSE来表明函数的运行结果.一旦出现错误,MSDN中往往会指出请用GetLastError()函数来获得错误原因 可问 ...

  2. lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义

    本文不会介绍LSTM的原理,具体可看如下两篇文章 Understanding LSTM Networks DeepLearning.ai学习笔记(五)序列模型 -- week1 循环序列模型 1.举个 ...

  3. VC++中的char,wchar_t,TCHAR(转载)

    VC++中的char,wchar_t,TCHAR 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱.为了统一,有必要把来龙去脉搞 ...

  4. 演练VC中的common一族

    1.表头控制 Header Control 2.图像列表控制 Image List 3.列表控制和视 List Control&List View 4.树控制和视 Tree Control&a ...

  5. VC中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法总结。

    C/C++ 预定义宏 例子:C/C++ 预定义宏的取值 C/C++ 预定义宏用途:诊断与调试输出 CRT 的诊断与调试输出:assert, _ASSERT/_ASSERTE, _RPTn/_RPTFn ...

  6. 在VC中动态加载ODBC的方法

    在VC中动态加载ODBC的方法     在使用VC.VB.Delphi等高级语言编写数据库应用程序时,往往需要用户自己在控制面板中配置ODBC数据源.对于一般用户而言,配置ODBC数据源可能是一件比较 ...

  7. VC中_T()与L区别(转)

    VC中_T("")与L区别 区别解释 一说这个话题,肯定涉及MS的字符集,先看MS对_T(其中_TEXT(")与_T("")一样)的定义: [cpp] ...

  8. VC++中使用使用winnet类获取网页内容

    2005-09-01 VC++中使用使用winnet类获取网页内容 - [VC专栏] 微软提供的Winnet类是一个应用层的网络通信组件, 它可以使你的应用程序很容易的实现http.ftp.gophe ...

  9. 计算机科学中具有特殊含义或易误解混淆的术语辨析

    计算机科学中具有特殊含义或易误解混淆的术语辨析 这是我以前收集整理的文档,参考了一些网上的公开资料.这次发到这里,是因为可以随时修改.不足之处,敬请指正,以便修正. 计算机科学中有些术语不具一致性,容 ...

最新文章

  1. centos7 JDK1.8
  2. 【十五分钟Talkshow】fmplan(十五分钟计划)的初步想法
  3. app分发平台java_集成 Asset Delivery (Java)
  4. 搭建SSM框架之Spring
  5. UVA401 ​​​​​​​Palindromes【字符串】
  6. 移远EC20串口使用阻塞问题
  7. wps表格在拟合曲线找点_用excel寻找拟合曲线上的某一点的使用方法
  8. 豪华酒店介绍预订网站模板,里面总共7个页面,适合酒店预订相关网站模板下载。
  9. 2万字硬核剖析网页自定义字体解析(css样式表解析、字体点阵图绘制与本地图像识别等)...
  10. 中标麒麟Linux安装微信,中标麒麟微信群,剧透中标麒麟7.0
  11. C# ZPL命令 实现打印中文
  12. 2018——走过的路
  13. 神经网络辨识的优势是,神经网络辨识的优势有
  14. 小程序中轻松添加日期和时间的选择
  15. 教你如何抢微信红包!实验数据告诉你先抢后抢的区别有多大?
  16. Naive Bayes——Naive在哪?
  17. 华为视频会议系统 端口映射
  18. 查看计算机bios版本,Win10系统下查看电脑主板BIOS版本的方法
  19. 车载以太网 - SomeIP - 总纲
  20. 蘑菇模拟器TV版 for Android,真实采集蘑菇模拟器

热门文章

  1. python替换word中的文字内容
  2. svg配合css3动画_与Sarah Drasner一起使用CSS,JS和SVG进行动画处理,并避免倦怠
  3. 堆料突破天花板 vivo X70 Pro+体验:定义高端影像旗舰
  4. RLS递归最小二2乘法自适应滤波器代码实现
  5. 【thinkadmin】连接sqlserver 的情况下登录自己创建的账户报错exists引入子查询的时候列表只能指定一个表达式问题
  6. 镭速Raysync v6.6.8.0版本发布
  7. TensorFlow 构造对角线为1的其余全0矩阵
  8. github拉取python项目出现问题Cannot set up a python SDK at Python 3.6 (pachong_calendar)
  9. IT忍者神龟之oracle高级CRUD
  10. 自然语言最强总结!百度NLP前沿探讨:从BERT到ERNIE有多远