字符串处理函数 TRIM - 去掉首尾空格

本文介绍了一个用于C++的自定义函数,该函数能够在输入的字符串两端去除空格。此函数兼容宽字符和Unicode字符,并在VC2003环境下进行测试。通过使用此函数,开发者可以轻松地对字符串进行预处理。

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

环境: VC2003,兼容宽字符和Unicode字符
函数说明: 在参数lpszStr指定的字符串上直接修改,去掉首尾空格。返回值LPTSTR指向同参数lpszStr。
最初版:更新时间 2007-03-01

#include <Windows.h>
#include 
<tchar.h>
#include 
<assert.h>

LPTSTR _tcstrim(
const LPTSTR lpszStr)
{
    assert(lpszStr 
!= NULL);

    
// trim right
    LPTSTR lpStrEnd;
    lpStrEnd 
= lpszStr + _tcslen( lpszStr );
    
while (lpStrEnd > lpszStr) {
        lpStrEnd
--;
        
if ( (*lpStrEnd) == _T(' ') )
            (
*lpStrEnd) = 0;
        
else
            
break;
    }
    lpStrEnd 
= lpszStr + _tcslen( lpszStr );

    
// trim left
    LPTSTR lpszDest = lpszStr;
    LPTSTR lpszSrc 
= lpszStr;
    
while (lpszSrc < lpStrEnd && (*lpszSrc) == _T(' ')) {
        lpszSrc
++;
    }
    
if (lpszDest != lpszSrc) {
        
while (lpszSrc <= lpStrEnd) {
            (
*lpszDest) = (*lpszSrc);
            lpszDest
++;
            lpszSrc
++;
        }
    }

    
return lpszStr;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值