_T(……)表示什么含义啊

genius_top1 2004-09-15 09:31:45
看VC技术内幕里有这段代码:
_T("%02d/%02d/%2d",ct.GetHour(),ct.GetMinute(),ct.GetSecond())
不知道_T是个什么宏,各个参数代表什么含义

编译有这个提示 warning C4002: too many actual parameters for macro '_T'


...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
genius_top1 2004-09-15
  • 打赏
  • 举报
回复
明白了,谢谢各位的指点
Alvin665 2004-09-15
  • 打赏
  • 举报
回复
WINDOWS 9X只支持ANSI,WINDOWS NT/2K等支持ANSI和UNICODE,但WINDOWS CE 只支持UNICODE.
所以为了考虑程序的移植性,用_T("")或_TEXT("")可以很方便的在UNICODE/ANSI间切换.
如果定义了UNICODE, 则它们会将常量字符串转换成等价的 UNICODE 。否则还是ANSI.
kugou123 2004-09-15
  • 打赏
  • 举报
回复
转换字符串的一个宏
akihide 2004-09-15
  • 打赏
  • 举报
回复
转unicode
lixiaosan 2004-09-15
  • 打赏
  • 举报
回复
Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。而后者是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE方式保存。_T和_L的区别在于,_L不管你是以什么方式编译,一律以以UNICODE方式保存。
李马 2004-09-15
  • 打赏
  • 举报
回复
应该是这样:
_T("%02d/%02d/%2d"),ct.GetHour(),ct.GetMinute(),ct.GetSecond()
flyelf 2004-09-15
  • 打赏
  • 举报
回复
#include <tchar.h>

#define _T(x) __T(x)

#define __T(x) L ## x // unicode
#define __T(x) x // non unicode
GMT 0009-2012 SM2 密码算法使用规范,详细描述SM2算法使用规范 GM/T0010-2012 目次 前言 1范围…… 2规范性引用文件…………… 3术语和定义 ·· 4符号和缩略语… 5OID定义… 6基入类型定义…………………… 6.1 Certilicate revocationlists 6.2 Content Encryption AlgorithmIdentifier………………………………………… 6.3 Digest algorithmldentifie 6.4 Digest Encryption algorithmIdentifier…………………… 6.5 Extended certificate OrCertificate 6,6 Extended certificatesAnd certificates……………………… 6,7 Issuer AndserialNumber……………… 6.8 KeyEncryptionAlgorithmldentilier 6,9 Version………………………………………………………………………………… 6.10 Contentinfo 7数据类型data 8签名数据类型 signedData…………… 8.1 signedData类型 8.2 SignerInfo类型…… 9数字信封数据类型 envelopeddata… 9.1 envelopedData类型 9,2 RecipientInfo类型……… 10签名及数字信封数据类型 signed And EnvelopedData……… 11加密数据类型 encryptedData 12密钥协商类型 key AgreementInfo 附录A(规范性附录)SM2密钥格式 A.1椭圆曲线参数语法… A.2公钥语法 A.3私钥语法 参考文献…………………………… GM/T0010-2012 前言 本标准按照GB/T1.12009的规则编写 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任 本标准由国家密码管理局提出并归口 本标准中的附录A为规范性附录。 木标准起草单位:上海格尔软件股份有限公司、北京海泰方圆科技有限公司、北京数字认证股份有 限公司、无锡江南信息安全工程技术中心、成都卫士通信息产业股份有限公司、上海巾数字证书认证中 心有限公司、兴唐通信科技有限公司、上海颐东网络信息有限公司、山东得安信息技术有限公司、国家信 息安全工程技术研究中心。 本标准起草人:刘平、谭武征、柳増寿、李述胜、徐强、李元正、刘承、王妮娜、夏东山、蒋红宇、孔凡玉 袁峰。 本标准涉及的密码算法按照国家密码管理部门的要求使用 Ⅱ GM/T0010—2012 SM2密码算法加密签名消息语法规范 1范 本规范定义了使用SM2密码算法的加密签名消息语法。 本规范适用于使用SM2密码算法进行加密和签名操作时对操作结果的标准化封装。 2规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仪注日期的版本适用于本文 件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GM/T0006密码应用标识规范 GM/ T AAAA SV2密码算法使用规范 PKCS #5 Extended-Certificate Syntax 3术语和定义 下列术语适用于本规范。 算法标识 algorithm identifier 用于标明算法机制的数字化信息 SM2算法SM2 algorithM 一种椭圆曲线密杩算法,密钥长度为256比特。 4符号和缩略语 下列缩略语适用于本规范 ECC 椭圆曲线密码算法( Elliptic Curve cryptography) 用户标识( Identity) OID 对象标识符( Object Identity) 5OID定义 本规范对6个对象data, signeddata, envelopedData, signedAnd Data, encryptedData和 key AgreementInfo的标识符进行了定义,详见表1 GM/T0010-2012 表1对象标识符 对象标识符OID 对象标识符定义 1.2,156.10197.6.1.4.2 SM2密码算法加密签名消息语法规范 1.2.156.10197.6.1.4.2.1 数据类型data 1.2.156.10197.6.1.4.2.2 签名数据类型 signedData 1.2,156,10197.6.1.4.2,3 数字信封数据类型 enveloped Data 签名及数字信封数据类型 1.2.156.1C197.6.1.4.2.4 signedAndEnvelopedData 1.2,156,10197.6.1.4.2.5 加密数据类型 encryptedData 1.2,156,10197.6.1.4.2,6 密钥协商类型 key AgreementInfo 6基本类型定义 6.1 Certificate Revocation lists Certificaterevocationlists类型标明一个证书撤销列表的集合。 Certificatereyocationlists;:= SET OF Certificaterevocation list 6. 2 ContentEncryptionAlgorithmldentificr Content Encryptionalgorithmldentifier类型标明一个数据加密算法。其OI见GM/T0006 Content Encryption AlgorithmIdentifier :: AlgorithmIdentifier 6.3 DigestAlgorithm ldentifier DigestAlgorithmIdentifier类型标明一个消息摘要算法,夲规范为SM3算法,其OID见GM/ T0006。 DigestAlgorithmIdentifier : AlgorithmIdentifier 6. 4 DigestEncryptionAlgorithmIdentifier Digest Encryption algorithmIdentifier类型标明一个签名算法,本规范为SM2密码算法,其OI见 GM/T OOO Digest EncryptionAlgorithmIdentifier AlgorithmIdentifier 6.5 ExtendedcertificateorCertificate ExtendedcertificateOrCertificate类型指定一个PKCS#6扩展证书或者一个X.509证书。这一类 型见PKCS=6第6节推荐的语法 ExtendedCertificate OrCertificate ::=CHOICE I certificate Certificate.--.509 extendedCertificate [o IMPLICIT Extended Certificate GM/T0010—2012 6.6 ExtendedCertificates And Certificates ExtendedcertificatesAndcertificates类型指定一个扩展证书和X.509证书的集合。它表示集合足 以包含从可识别的“根”或“顶级CA”到所有签名者的证书链。 ExtendedcertificatesandCertificates : SET OF Extendedcertificate orcertificate 6. Issuer AndSeriaINumber Issuer And SerialNumber类型标明一个证书颁发者可识别名和颁发者确定的证书序列号,可据此 确定一份证书和与此证书对应的实体及公钥。 IssuerAndSerialNumber SEQUENCE issuer name serialNumber certificate SerialNumber 6.8 Kcy EncryptionAlgorithmldentificr KeyEncryptionAlgorithmIdentifier类型标明加密对称密钥的加密算法。 Key encryptionalgorith mldentilier :: Algorithmlden 6.9ⅴ ersion Version类型标明语法版本号。 Version :: INTEGER(1 6. 10 ContentInfo ContentInfo类型标眀内容交换通用语法结构,内容交换的通用语法结构定义如下」 ContentInfo :: SEQUENCE contentType Content type contentO] EXPLICIT ANY DEFINED BY content Type OPTIONAL ContentType OBJECT IDEN TⅠFIER 其中 ContentType内容类型是一个对象标识符,其定义见本规范第5章。 content内容,可选。 7数据类型data data数据类型结构定义如下: Data .. OCTET STRING Data数据类型表示任意的字节串,比如ASCI文本文件。 GM/T0010—2012 8签名数据类型 signed Data 8.1 signed Data类型 signeddata数据类型由任意类型的数据和至少一个签名者的签名值组成。任意类型的数据能够同 时被任意数量的签名者签名。 signeddata数据类型结构定义如下 SignedData ::= SEQUENCE versionⅤ ersion, digest algorithms digest algorithmIc entities. contentInfo sm2signature certificates o IMPLICIT ExtendedCertificates And Certificates OPTIONAL crls[ 1] IMPLICIT Certificate Revocation Lists OPTIONAI Signerinlos Signerinlos Digestalgorithm Identifiers : SET OF Digest AlgorithmIdentifier SignerInfos::= SET OF SignerInfo 结构中各项含义见表2 表2 signedData数据类型 字段名称 数据类型 含义 version (1) V ersion 语法的版木号 digestAlgorithms DigestAlgorithmIdentifiers 消息摘要算法标识符的集合 contention SM2Signaturc 被名的数据内谷,数据类型见GM/ T AAAA ExtendedCertificatesAndcertif certifica PKCS#6扩展证书和X.509证书的集合 Icates CrIs Certificate Revocation lists 证书撤销列表的集合 signIngs SignerInfos 每个签名者信息的集合 8.2 Signerlnfo类型 gnerInfo类型结构定义如下: SignerInfo :: SEQUENCE version version issuer And SerialNumber IssuerAndSerial Number digest Algorithm DigestAlgorithmldentifier authenticated AttributesLO] IMPLICIT Attributes OPTIONAL digest Encryption Algorithm Digest EncryptionAlgorithmIdentifier
人工智能时代,编程已成为一项基本技能。Python,人工智能时代最佳的编程入门语言。本系列课程分为三部分:手把手教你学Python(基础篇)、手把手教你学Python(进阶篇)、手把手教你学Python(实战篇)。面向零基础用户,从无到有,从易到难,层层递进,带你遨游Python世界;采用案例驱动,即学即练即用,将学习落到实处。人工智能时代,编程已成为一项基本技能。国内一些发达省市,已将编程纳入中小学教材;编程门槛大幅降低,已不再是计算机行业的专利;学编程训练思维,受益终生;掌握编程可有效,提升工作效率。Python,人工智能时代最佳的编程入门语言。设计人性化,语法简单,容易掌握,近年来热度不断攀升;丰富的内置标准库,强大的第三方库,大大缩减编程工作量;网络爬虫、数据处理、科学计算方面的优势,适用于各行各业;强大的技术体系,能够胜任Web开发、系统运维、人工智能等主流领域本系列课程的主要内容安排。   基础篇:语法基础程序结构基本数据结构函数与异常处理常见库操作文件操作 …………   进阶篇:面向对象思想数据库操作Numpy库介绍Pandas库介绍数据可视化机器学习算法…………   实战篇:网络爬虫原理Requests库学习电影网站信息抓取Scrapy爬虫框架研招网数据抓取学位论文数据抓取…………课程教学特点:零基础,从无到有,从易到难,层层递进,带你遨游Python的世界;理论联系实践,案例驱动,即学即练即用,将学习落到实处;提供学习交流平台,在线答疑,自学途中不迷茫;本课程适用人群:计算机相关专业的新生准备转型从事数据处理的职场人员各行各业在职数据处理人员希望从事科学研究的人员程序设计爱好者课程目录安排如下: 第9章 Python面向对象9_1_类和对象9_2_实例变量9_3_类变量9_4_类中的方法9_5_类的继承9_6_对象的拷贝9_7_本章小结9_8_练习讲解19_9_练习讲解2第10章 Python操作数据库10_1_数据库基础10_2_结构化查询语句SQL10_3_Python操作数据库核心API10_4_Python操作数据库案例10_5_本章小结10_6_练习讲解第11章 Numpy入门与实践11_1_数组对象-ndarray11_2_索引和切片(上)11_3_索引和切片(下)11_4_Numpy中的通用函数11_5_数组运算11_6_本章小结11_7_练习讲解第12章 Pandas入门与实践12_1_Series和Index介绍12_2_Series数据访问和常用方法12_3_DataFrame创建与数据访问12_4_DataFrame中的属性和方法12_5_DataFrame的合并12_6_Pandas加载数据和缺失值处理12_7_Pandas中分组操作12_8_Pandas中数据合并操作12_9_Pandas综合案例12_10_本章小结12_11_练习讲解第13章 数据可视化-matplotlib13_1_pyplot绘图基础13_2_绘制线形图13_3_绘制直方图13_4_绘制条形图13_5_绘制饼状图13_6_绘制散点图13_7_生成词云图13_8_本章小结13_9_练习讲解第14章 机器学习库 Scikit-learn14_1_机器学习基础14_2_鸢尾花数据读取和可视化14_3_自己写KNN算法实现14_4_调用sklearn中的KNN算法14_5_波士顿房价预测问题14_6_手写数字识别14_7_本章小结 

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧