Win32编程---------字符串问题

在Windows编程中,需要使用很多的API函数,其中有很多有字符串参数,这就涉及到了字符串处理

字符现在有两种编码方式-------ANSI和Unicode(GBK算在ANSI中),这就需要为每一种编码单独涉及一套处理函数。

C标准库就是有两种字符串函数:

一种str开头,处理ANSI字符串。

一种wcs开头,处理Unicode字符串。

Windows系统API库,也是有两种函数:

一种以A结尾,ANSI参数型函数

一种以W结尾,Unicode参数型函数

入口点都有两种:

控制台型,main和wmain

GUI型,WinMain和wWinMain

这样为了处理两种字符编码,就要重新改写现有代码。很麻烦。

Microsoft提供了一种ANSI/Unicode通用的解决方法。

1.对于字符和字符串的通用类型

TCHAR 宏-----------代替char或wchar_t

TEXT() 宏------------代替“”或L“”,解决字符串编码问题

LPTSTR-------------指向TCHAR的指针(LP在64位上是长指针)

LPCTSTR-----------指向Const TCHAR的指针

2.运行库函数

_tcsXXX--------代替以前的strXXX的ANSI函数和wcsXXX的Unicdoe函数

3.系统API函数

通过定义宏,直接使用函数原型,不要后面的A或者W。

4.入口点函数

_tmain---------代替main或者wmain

_tWinMain-----代替WinMain或者wWinMain

在代码中使用Unicode字符串的方法:

只使用运行时函数--------------定义_UNICODE宏

使用Windows函数--------------定义UNICODE宏

通常情况下,这两个宏都需要定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值