Chinaunix

标题: 如何删除空格 [打印本页]

作者: udb6688    时间: 2009-02-05 10:25
标题: 如何删除空格
char *string="abcd  \n";
这行是读文件得来的这个空格可能是一个或多个。
    请问如何去掉。我试了一下只能去掉\n改成\0,但是用它来创建文件的时候会出现带空格的文件名现象
作者: yangsf5    时间: 2009-02-05 10:40
空格不能换成'\0'?
作者: 5毛党党员    时间: 2009-02-05 10:42
去掉不如替换方便。。。
作者: alexhappy    时间: 2009-02-05 10:58
char buffer[LEN] = 'abcd    \n';
char *p = strtok(buffer,‘ ‘);

p is your want

[ 本帖最后由 alexhappy 于 2009-2-5 11:04 编辑 ]
作者: zhuhefang2006    时间: 2009-02-05 10:59
原帖由 udb6688 于 2009-2-5 10:25 发表
char *string="abcd  \n";
这行是读文件得来的这个空格可能是一个或多个。
    请问如何去掉。我试了一下只能去掉\n改成\0,但是用它来创建文件的时候会出现带空格的文件名现象


没看明白楼主的意思啊
作者: langue    时间: 2009-02-05 10:59
其实,你把 remove spaces 的说法改一下,改成 skip spaces,你就明白该怎么做了。
用个 while 循环,挨个字符检查,遇到空格的跳过,其余字符记录下来,就这样一直到 '\0' 为止。
作者: eveson    时间: 2009-02-05 11:14
第一个空格替换成\0即可
作者: ddvv    时间: 2009-02-05 14:23
试试正则表达式
作者: samon_fu    时间: 2009-02-06 05:24
strip
作者: hbbdren    时间: 2009-02-06 15:54
原帖由 eveson 于 2009-2-5 11:14 发表
第一个空格替换成\0即可

不对吧,如"abcd \n",这样就成了"abcd"了,楼住不是要求成"abcd\n"吗
作者: senic    时间: 2009-02-06 16:04
在公司的一堆代码里找到个新手写的  应该符合要求 哈

//----------------------------------------------------------------------
// Name     :        Eatblank
// Function :        Eat all blank in the  lines
// Parameter:
//            str(char*)  : the soure str
// Return   : char*
//            NULL : err
//            !NULL: ok
// By       :       
// Date     :        2008-10-10
//----------------------------------------------------------------------
char* Tools::Eatblank(char* str)
{
    char temp[1024];   
    char* p  = temp;   
    char* p1 = str;        
   
    if (NULL == str)         
    {               
             return NULL;        
    }
                  
    while(*p1 != '\0')
    {
        if (*p1 == ' ')
        {
            *p1 = '\0';
            p1++;
            continue;
        }
        *p  = *p1;
        *p1 = '\0';
        p++;
        p1++;
    }
    *p = '\0';
    p  = temp;
    p1 = str;   

    while (*p != '\0')   
    {        
        *p1++ = *p++;   
    }

    return str;   
}




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2