`
lovnet
  • 浏览: 6897539 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

_T() 函数

 
阅读更多

_T("")是一个宏,他的作用是让你的程序支持Unicode编码
因为Windows使用两种字符集ANSI和UNICODE,
前者就是通常使用的单字节方式,
但这种方式处理象中文这样的双字节字符不方便,
容易出现半个汉字的情况。
而后者是双字节方式,方便处理双字节字符。

Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。
如果你编译一个程序为ANSI方式,
_T实际不起任何作用。
而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE方式保存。_T和_L的区别在于,_L不管你是以什么方式编译,一律以UNICODE方式保存。

<wbr><wbr></wbr></wbr>

LPSTR:32bit指针指向一个字符串,每个字符占1字节

LPCSTR:32-bit指针指向一个常字符串,每个字符占1字节
LPCTSTR:32-bit指针指向一个常字符串,每字符可能占1字节或2字节,取决于Unicode是否定义
LPTSTR:32-bit指针每字符可能占1字节或2字节,取决于Unicode是否定义

<wbr><wbr></wbr></wbr>

L是表示字符串资源为Unicode的。

比如
wchar_t Str[] = L"Hello World!";
这个就是双子节存储字符了。

_T是一个适配的宏~


#ifdef _UNICODE的时候
_T就是L
没有#ifdef _UNICODE的时候
_T就是ANSI的。

比如

LPTSTR lpStr = new TCHAR[32];
TCHAR* szBuf = _T("Hello");
以上两句使得无论是在UNICODE编译条件下都是正确编译的。

而且MS推荐你使用相匹配的字符串函数。
比如处理LPTSTR或者LPCTSTR 的时候,不要用strlen ,而是要用_tcslen

否则在UNICODE的编译条件下,strlen不能处理 wchar_t*的字符串。

T是非常有意思的一个符号(TCHAR、LPCTSTR、LPTSTR、_T()、_TEXT()...),它表示使用一种中间类型,既不明确表示使用 MBCS,也不明确表示使用 UNICODE。那到底使用哪种字符集?编译的时候才决定

转载出处:http://blog.csdn.net/doubaijun/article/details/3297104

附参考资料(C++语言中“_T”是什么意思):http://hi.baidu.com/alalmn/blog/item/81384209d399fbc53bc763d1.html

分享到:
评论

相关推荐

    arm_mult_q15函数使用 参考代码

    `arm_mult_q15`是CMSIS-DSP库中的一个函数,用于执行两个Q15类型(16位定点数)向量的逐元素乘法。Q15数据类型表示的是1.15格式的固定点数,其中最高位是符号位,接下来的15位是数值部分。在Q15格式中,每个数的范围...

    Bivariate_Fox_H_Details_Fox-H_foxH函数_fox-H函数_多维H函数_foxH函数

    对于两个复数参数α和β,以及两个实数函数f(t)和g(t),Fox-H函数H(f, g; α, β; t)定义为: \[ H(f, g; \alpha, \beta; t) = \int_0^\infty f(s) g(t/s) s^{-\alpha - 1} (1 + s)^{\beta - 1} ds \] 这里的积分...

    snmp_add_var函数的用法

    ### SNMP_ADD_VAR 函数详解 #### 一、引言 在深入探讨`snmp_add_var`函数之前,我们首先简要回顾一下SNMP(Simple Network Management Protocol)的基础知识及其在网络管理中的重要性。SNMP是一种广泛应用于网络...

    bp神经网络1 - 副本.zip_BP-PID_S函数 BP_bp pid_s函数_神经网络S函数

    Sigmoid函数,通常表示为S函数,是BP神经网络中常见的激活函数,因为它具有良好的非线性和连续导数,有利于网络的学习过程。 2. **训练网络**:使用反向传播算法更新网络权重,以最小化预测输出与期望输出之间的...

    C++_Unicode_SBCS函数对照表

    C++ Unicode SBCS 函数对照表 本资源提供了 C++ 中 Unicode 和 SBCS(Single Byte Character Set,单字节字符集)函数的对照表,对于_char_和_TCHAR_类型的字符操作函数的使用非常有帮助。下面是对照表中的部分知识...

    跟踪微分器han_td函数

    在 MATLAB 环境中,"跟踪微分器han_td函数" 是一个用于实现跟踪微分功能的核心算法。跟踪微分器是一种数学工具,广泛应用于信号处理、控制系统和数据分析等领域,它能估计输入信号的瞬时变化率。下面将详细阐述这个...

    fenbuhanshu.rar_F分布_fenbuhanshu_t分布_分布函数

    "T分布分布函数.cpp"应该包含了t分布的密度函数、分布函数和逆分布函数的实现。 3. **伽马分布**(Gamma distribution):伽马分布是一个灵活的连续分布,广泛应用于寿命分析、等待时间建模等领域。它有两个参数α...

    Bivariate_Fox_H_Details_Fox-H_foxH函数_fox-H函数_多维H函数_foxH函数.zip

    \[ H_{p,q}^{m,n}(z) = \int_0^{\infty} \frac{\prod_{j=1}^m \Gamma(b_j + B_j t)}{\prod_{i=1}^n \Gamma(a_i + A_i t)} \left(\frac{z}{t}\right)^{-B} t^{-A-1} dt \] 这里的\( \Gamma \)函数是Euler的Gamma函数...

    pso.zip_PSO函数测试_测试函数_算法函数测试_算法测试函数_粒子群算法

    \[ v_{i,j}(t+1) = w \cdot v_{i,j}(t) + c_1 \cdot r_1 \cdot (pBest_{i,j} - x_{i,j}(t)) + c_2 \cdot r_2 \cdot (gBest_j - x_{i,j}(t)) \] 其中,\(v_{i,j}\) 和 \(x_{i,j}\) 分别表示第i个粒子的第j维度的...

    pso.rar_PSO 函数_PSO函数_pso matlab wfg_pso 测试matlab_测试函数

    速度更新公式通常为:`v(t+1) = w * v(t) + c1 * rand() * (pBest - x(t)) + c2 * rand() * (gBest - x(t))`,其中w是惯性权重,c1和c2是加速常数,rand()是随机数。 4. **更新位置**:根据新的速度更新粒子的位置:...

    pso.rar_PSO_PSO 极值_PSO 优化函数_pso 函数_pso optimization

    标题"pso.rar_PSO_PSO 极值_PSO 优化函数_pso 函数_pso optimization"表明这个压缩包包含的是关于PSO算法在寻找极值和优化函数方面的Matlab实现。极值是指在某个函数中找到最大值或最小值,这是优化问题的核心目标。...

    TC api文档.rar_C语言标准函数库中malloc_TC_api文档_c 函数库_c语言函数库

    在C语言编程中,标准函数库是一组预定义的函数,程序员可以调用它们来执行常见的任务,如内存管理、输入/输出操作、数学运算等。`malloc()`函数是C语言标准函数库中的一个关键部分,它属于内存管理领域,用于动态...

    arm_max和arm_sort两个函数的使用.docx

    本文将详细介绍`arm_max_f32`和`arm_sort_f32`两个函数的使用,这两个函数是针对MSP432平台的程序设计,主要用于处理32位浮点数数组。我们将深入探讨它们的功能、参数以及如何在实际代码中应用。 **arm_max_f32 ...

    time_t数据类型详细介绍及其相关时间操作函数.pdf

    ### Time_t 数据类型详解及其相关时间操作函数 #### 一、Time_t 数据类型定义与特点 `time_t` 是 C/C++ 中用于表示时间的一种数据类型。它通常被定义为 `long` 类型的一个别名,用来存储从某个固定的时间点(通常...

    multipath.rar_T2F函数_f2t_t2f_传输函数

    这是一个涉及多径传输的源程序:用到的函数 为f2t函数和t2f函数。

    函数调用扩展_函数扩展_raysfrs_函数入口地址_functor_虚函数_

    在编程领域,函数是执行特定任务的代码块,而函数调用是程序中执行这些任务的方式。本篇文章将深入探讨几种函数调用扩展方法,包括使用函数入口地址、函数对象(functor)以及虚函数,以实现更灵活的代码设计。 ...

    贝塞尔函数一阶图像_1阶贝塞尔函数_贝塞尔函数_matlab_

    1阶贝塞尔函数的数学表达式为B(t) = (1-t)P0 + tP1,其中t是参数,P0和P1分别是曲线的起点和终点。当t从0变化到1时,曲线将从P0平滑地过渡到P1。这种线性特性使得1阶贝塞尔曲线在处理线性插值问题时非常直观。 ...

    Bivariate_Fox_H_Details_Fox-H_foxH函数_fox-H函数_多维H函数_foxH函数_源码.zip

    压缩包中的"fox-H函数_源码.zip"可能包含了用不同编程语言实现的计算Fox-H函数的代码,这对于实际应用和数值模拟非常有价值。源代码可能包括了数值积分算法,如辛积分方法或者基于矩的近似方法,这些方法可以帮助...

    pso.rar_PSO_pso 函数_pso peaks_求函数极值_粒子群求极值

    《使用粒子群优化算法(PSO)解决峰值函数极值问题》 粒子群优化算法(Particle Swarm Optimization,PSO)是一种模拟自然界中鸟群或鱼群群体行为的优化算法,它在解决复杂优化问题,尤其是非线性、多模态问题上...

Global site tag (gtag.js) - Google Analytics