hur.cn - 华软网

 热门搜索

请教高手

  作者:未知    来源:网络    更新时间:2011/4/16
有一个字符数组,要求把这里面超过1一个连续的空格,替换为1个空格。写个函数实现,在线等
比如:12   ABCD 12处理后结果为:12 ABCD 12
---华软 网友回答---
C++">
void dele(char *src,int len)
{

char *p1=src,*p2=src;
int length=len;
while((p2-src)<length)
{
if(*p2!=' ')
{
*p1=*p2;
++p1;
++p2;
continue;
}
else
{
while(*p2==' ')
{
++p2;
}
*p1=' ';
++p1;
}
}
}


没测试,你看看结果对不对,参数中需要输入字符串的长度
---华软网友回复---
简单的办法是

CString a = "12 ABCD 12";
a.Replace("  ", " ");
a.Replace("  ", " ");
a.Replace("  ", " ");
a.Replace("  ", " ");
---华软网友回复---
引用 1 楼 tandyt 的回复:
C/C++ code

void dele(char *src,int len)
{

    char *p1=src,*p2=src;
    int length=len;
    while((p2-src)<length)
    {
        if(*p2!=' ')
        {
            *p1=*p2;
            +……

谢谢,这个测试过,可以
---华软网友回复---
这里加上p2是否越界或许更妥当吧,数组么~~~
 
          while(*p2==' ')
            {
                ++p2;
            }
 
---华软网友回复---
引用 2 楼 healer_kx 的回复:
简单的办法是

CString a = "12 ABCD 12";
a.Replace(" ", " ");
a.Replace(" ", " ");
a.Replace(" ", " ");
a.Replace(" ", " ");


楼主用这个方法也可以,看你个人喜好了
---华软网友回复---
C++">
CString str = "12        AAAAAAAAA  22         EE  12 32                TT";
while(str.Replace("  "," "));
AfxMessageBox(str);
     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。