在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能去除空格一共有三种:
1、去除全部空格;2、一种是去除左边空格;3、去除右边空格 想去除左右两边空格,只要先去除左边再去除右边的就行了
以下是实现代码:
- voidVS_StrTrim(char*pStr)
- {
- char *pTmp = pStr;
-
- while (*pStr != '/0')
- {
- if (*pStr != ' ')
- {
- *pTmp++ = *pStr;
- }
- ++pStr;
- }
- *pTmp = '/0';
- }
-
-
- void VS_StrRTrim(char *pStr)
- {
- char *pTmp = pStr+strlen(pStr)-1;
-
- while (*pTmp == ' ')
- {
- *pTmp = '/0';
- pTmp--;
- }
- }
-
-
- void VS_StrLTrim(char *pStr)
- {
- char *pTmp = pStr;
-
- while (*pTmp == ' ')
- {
- pTmp++;
- }
- while(*pTmp != '/0')
- {
- *pStr = *pTmp;
- pStr++;
- pTmp++;
- }
- *pStr = '/0';
- }</pre>
- 在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它<p>本着高效率,不使用额外存储空间的想法实现该功能</p><p>去除空格一共有三种</p><p>一种是去除全部空格,一种是去除左边空格,第三种去除右边空格</p><p>想去除左右两边空格,只要先去除左边再去除右边的就行了</p><p>以下是实现代码</p>
在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能
去除空格一共有三种
一种是去除全部空格,一种是去除左边空格,第三种去除右边空格
想去除左右两边空格,只要先去除左边再去除右边的就行了
以下是实现代码
-
- voidVS_StrTrim(char*pStr)
- {
- char *pTmp = pStr;
- while (*pStr != '/0')
- {
- if (*pStr != ' ')
- {
- *pTmp++ = *pStr;
- }
- ++pStr;
- }
- *pTmp = '/0';
- }
-
- void VS_StrRTrim(char *pStr)
- {
- char *pTmp = pStr+strlen(pStr)-1;
- while (*pTmp == ' ')
- {
- *pTmp = '/0';
- pTmp--;
- }
- }
-
- void VS_StrLTrim(char *pStr)
- {
- char *pTmp = pStr;
- while (*pTmp == ' ')
- {
- pTmp++;
- }
- while(*pTmp != '/0')
- {
- *pStr = *pTmp;
- pStr++;
- pTmp++;
- }
- *pStr = '/0';
- }
/*去除字符串中所有空格*/
voidVS_StrTrim(char*pStr)
{
char *pTmp = pStr;
while (*pStr != '/0')
{
if (*pStr != ' ')
{
*pTmp++ = *pStr;
}
++pStr;
}
*pTmp = '/0';
}
/*去除字符串右边空格*/
void VS_StrRTrim(char *pStr)
{
char *pTmp = pStr+strlen(pStr)-1;
while (*pTmp == ' ')
{
*pTmp = '/0';
pTmp--;
}
}
/*去除字符串左边空格*/
void VS_StrLTrim(char *pStr)
{
char *pTmp = pStr;
while (*pTmp == ' ')
{
pTmp++;
}
while(*pTmp != '/0')
{
*pStr = *pTmp;
pStr++;
pTmp++;
}
*pStr = '/0';
}
本程序在VC6下测试通过