strcpy、wcscpy与_tcscpy(给WCHAR赋值)

strcpy、wcscpy与_tcscpy

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

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

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

  1. #ifdef  UNICODE   
  2.     #define _tcscpy     wcscpy  
  3. #else  
  4.     #define _tcscpy     strcpy  
  5. #endif 

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

  1. TCHAR src[] = _T("学习C++");  
  2. TCHAR dest[20];  
  3. _tcscpy(dest, src); 

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

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

  1. main( int argc, char *argv[ ], char *envp[ ]);  
  2. 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 

转载:https://blog.csdn.net/shiwei0124/article/details/4531651

猜你喜欢

转载自blog.csdn.net/hshqing/article/details/83003923
今日推荐