windows API 第九篇 _tcslwr _strlwr _wcslwr _mbslwr

本文详细介绍了如何在C/C++中使用_strlwr、_wcslwr和_mbslwr函数将字符串转换为小写。提供了函数原型、注意事项及安全函数的使用示例,帮助读者理解并正确应用这些字符串操作函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将字符串转化为小写
Convert a string to lowercase.

函数原型:

char *_strlwr( char *string );             //#include <string.h>  

wchar_t *_wcslwr( wchar_t *string );                //#include <string.h> or <wchar.h>      _UNICODE Defined

unsigned char *_mbslwr( unsigned char *string );             //#include <mbstring.h>     _MBCS Defined


_tcslwr 只是一个宏,看有没有定义unicode 或者多字符集

有它们对应的安全函数:
_strlwr_s               _wcslwr_s         _mbslwr_s


返回值:返回对应的小写字符串,对应的传入的参数也变了。应此在用的时候,要确保传入的参数正确,就没有必要返回值了
Each of these functions returns a pointer to the converted string. Because the modification is done in place, the pointer returned is the same as the pointer passed as the input argument. No return value is reserved to indicate an error.

举例:
这里使用安全函数
char szStr[] = "asdfDGFDS";
//第二个参数一定要把‘\0’结尾算进去,不然会失败
_strlwr_s(szStr, sizeof(szStr));    //szStr :asdfdgfds

 WCHAR szCh[] = L"QWERq";
//第二个参数同上
 _wcslwr_s(szCh, sizeof(szCh));     //szCh:qwerq

转载于:https://www.cnblogs.com/priarieNew/p/9754186.html

将以下代码转换为java // static DWORD SUPPORT_MODELS[] = { 0x0D16030A, //HiTi CS-220e 0x0D16A302, //Fagoo P280E 0 }; BOOL EnumUSBDevice(HWND hComboBox, IN HDEVINFO HardwareDeviceInfo, IN PSP_INTERFACE_DEVICE_DATA InterfaceInfoData, IN PSP_DEVINFO_DATA DeviceInfoData, DWORD dwVidPid) { ULONG ulRequiredLength = 0; ULONG ulPredictedLength = 0; BOOL bOK = FALSE; BOOL bRet = FALSE; TCHAR szVidPid[32] = {0}; DWORD dwLastError = 0; PSP_INTERFACE_DEVICE_DETAIL_DATA interfaceDetailData = 0; TCHAR szDeviceID[MAX_PATH] = {0}; DWORD dwDeviceIDSize = 0; TCHAR szDeviceDESC[MAX_PATH] = {0}; DWORD dwDeviceDESCSize = 0; TCHAR szDEVID[MAX_PATH] = {0}; _stprintf(szVidPid, _T("vid_%04x&pid_%04x"), HIWORD(dwVidPid), LOWORD(dwVidPid)); bRet = SetupDiGetDeviceInterfaceDetail(HardwareDeviceInfo, InterfaceInfoData, NULL, 0, &ulRequiredLength, NULL); if ( ulRequiredLength == 0 ) return FALSE; ulPredictedLength = ulRequiredLength; interfaceDetailData = (PSP_INTERFACE_DEVICE_DETAIL_DATA) malloc(ulPredictedLength); if ( interfaceDetailData == NULL ) { ::SetLastError(ERROR_NOT_ENOUGH_MEMORY); return FALSE; } interfaceDetailData->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); bRet = SetupDiGetDeviceInterfaceDetail(HardwareDeviceInfo, InterfaceInfoData, interfaceDetailData, ulPredictedLength, &ulRequiredLength, NULL); if ( bRet ) { //get hardware ID bRet = SetupDiGetDeviceRegistryProperty(HardwareDeviceInfo, DeviceInfoData, SPDRP_HARDWAREID, NULL, (unsigned char*)szDeviceID, MAX_PATH*sizeof(TCHAR), &dwDeviceIDSize); if ( bRet ) { bRet = SetupDiGetDeviceRegistryProperty(HardwareDeviceInfo, DeviceInfoData, SPDRP_DEVICEDESC, NULL, (unsigned char*)szDeviceDESC, MAX_PATH*sizeof(TCHAR), &dwDeviceDESCSize); if ( bRet ) { lstrcpy(szDEVID, szDeviceID); _tcslwr(szDEVID); if ( _tcsstr(szDEVID,szVidPid) != NULL ) { ::SendMessage(hComboBox, CB_ADDSTRING, NULL, (LPARAM)interfaceDetailData->DevicePa
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值