在网上看了些去除空格的代码,觉得都不是很简洁,就自己写代码实现它本着高效率,不使用额外存储空间的想法实现该功能去除空格一共有三种:
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下测试通过
要求:在main()中调用下述各函数,完成字符串中去除空格并分解单词的功能。
函数原型如下:
函数一:单词内是否包含数字 int IsNumIn(char word[])
函数二:单词内是否包含空格 int IsSpcIn(char word[])
函数三:去掉单词的前后空格,tab键和换行符 Trim(char oldWord[], char newWord[])
函数四:单词内部有空格,分解成多个单词 Seg(char words[], char wArray...
代码】C语言去除一段字符串中的空格。#include
void HandleChara(char * source,char *storage){ int i=0; int length = strlen(source); while(i
定义一个数组str用于获取字符串,定义两个变量i,j,初始均为0。j为活动下标,下标i在离j最近的左侧位置且str[i]不为空格。在str[j]不为结束符的情况下,对字符串逐个字符遍历。如果str...
/***从一个字符串中去除多余的空格*函数原型为:voiddeblank(charstring[]);*如果发现字符串中有一个地方由一个或多个连续的空格组成,就把它们改成单个空格*/#include#include#include#defineMAX_LEN100#defineEND"Finished!"voiddeblank(charstring[]);voidre...
从键盘读入一个字符串,去掉其中所有的空格得到一个新串后再输出(只能定义一个字符数组,不可以定义两个字符数组,可以根据编程需要定义字符指针以及其他变量)。
#include <stdio.h>
int main()
int i, x = 0, a,s=100;
char q[100];
printf("输入一个字符串:");
gets(q);
char z;
z = ' ';
for (i = 0; i < s; i++)
while (z == q[i]) /*找到