Chinaunix

标题: 怎么去掉字符串中的空格? [打印本页]

作者: rsog    时间: 2003-06-18 09:43
标题: 怎么去掉字符串中的空格?
用哪个函数去掉字符串中的空格?
作者: zyzh    时间: 2003-06-18 09:56
标题: 怎么去掉字符串中的空格?
void ltrim(char *s)
{// 去掉前部的
    int l=0,p=0,k=0;
    l = strlen(s);
    if( l == 0 ) return;
    p = 0;
    while( s[p] == ' ' || s[p] == '\t' )  p++;
    if( p == 0 ) return;
    while( s[k] != '\0') s[k++] = s[p++];
    return;
}

void rtrim(char *s)
{// 去掉尾部的
    int l=0,p=0;
    l = strlen(s);
    if( l == 0 ) return;
    p = l -1;
    while( s[p] == ' ' || s[p] == '\t' ) {
        s[p--] = '\0';
        if( p < 0 ) break;
    }
    return;
}
作者: alphaliu    时间: 2003-06-18 09:59
标题: 怎么去掉字符串中的空格?
自己写的一个给你
void        strallcut(char *str)
{
        int        i,j=0;
        char sp[512];
        for (i = 0; *(str + i) != '\0'; i++) {
                if (*(str + i) == ' ' )
                        continue;
                sp[j++]=*(str + i);
        }
        sp[j] = 0;
        strcpy(str, sp);
}
作者: 1122331    时间: 2003-06-18 10:09
标题: 怎么去掉字符串中的空格?
要习惯尽可能使用可移植的库函数,比较精简的:


  1.         char a[] = "this is a dog.";
  2.         char *toks = " ";
  3.         char * tok = strtok( a, toks );
  4.         while( tok )
  5.         {
  6.                 if( tok == a )
  7.                         strcpy( a, tok );
  8.                 else
  9.                         strcat( a, tok );
  10.                 tok = strtok( NULL, toks );
  11.         }
复制代码

作者: unicorns    时间: 2003-06-18 10:10
标题: 怎么去掉字符串中的空格?
全部去掉还是只去掉头尾的?
作者: yyii    时间: 2003-06-18 12:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: sunlan    时间: 2003-06-19 10:18
标题: 怎么去掉字符串中的空格?
你可以自己写三个函数:
ltrim  去左空格
rtrim 去右空格
alltrim  去除所有空格
作者: 蓝色键盘    时间: 2003-06-19 12:56
标题: 怎么去掉字符串中的空格?
恩。标准C库,没有类似的函数。但是有些编译程序提供了这些功能的函数,如果没有的话,自己写一个。楼上几位的例子都可以参考。
作者: alphaliu    时间: 2003-06-19 16:30
标题: 怎么去掉字符串中的空格?
??没玩过
作者: josser    时间: 2003-06-21 23:52
标题: 怎么去掉字符串中的空格?
1122331 的不是线程安全的,用在线程里会有问题.alphaliu 的也存在这个问题.
作者: snyh    时间: 2009-08-01 18:38
标题: 回复 #10 josser 的帖子
不能总把线程安全拿着说事吧
  中心问题是去掉多余空格

1122331写的比较清楚拉  
如果需要考虑线程安全 用户会知道使用 strtok_r 代替的

表达思想就行了 其他的具体问题 具体解决
作者: net_robber    时间: 2009-08-01 18:47
字符串中间的空格,需要考虑么?




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