strcpy、wcscpy与_tcscpy

[size=large]C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,如:

char *strcpy(char *strDestination, const char *strSource);
wchar_t *wcscpy(wchar_t *strDestination, const wchar_t *strSource);

wcscpy()即为strcpy()的宽字符版本,与_T类似的,Visual C++提供了类似的同名函数:

#ifdef UNICODE
#define _tcscpy wcscpy
#else
#define _tcscpy strcpy
#endif

因此我们建议这样书写代码:

TCHAR src[] = _T("学习C++");
TCHAR dest[20];

_tcscpy(dest, src);

比如,在使用printf()的时候,我会尝试使用_tprintf()。

同样的版本问题一样会困扰着main()函数:

main( int argc, char *argv[ ], char *envp[ ]);
wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ]);

再来看_tmain()的定义:

#ifdef UNICODE
#define _tmain wmain
#define _tWinMain wWinMain
#else
#define _tmain main
#define _tWinMain WinMain
#endif
这就是为什么Win32控制台项目默认输出,提供一个_tmain()函数的缘故。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值