您的位置:首页 > 其它

去掉文本末尾的空白字符

2016-08-28 13:53 288 查看
#include<stdio.h>

#define MAXLINE  1000

int remove_1(char s[]);

int getline_1(char line[], int maxline);

main()

{

    char line[MAXLINE];

    while((getline_1(line, MAXLINE)) > 0)  //纯空白符也存在    

        if(remove_1(line)>0)

            printf("%s", line);

    return 0;

}

//有空格就直接跳出来打印  而不是在文本结尾统一打印

int getline_1(char s[], int lim)   // 获得文本中的一行 存入数组s中 返回文本长度

{

    int i, c;

    for(i = 0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; i++)

        s[i] = c;

    if(c == '\n'){

        s[i] = c;

        ++i;

    }

    s[i] = '\0';

    return i;

}

int remove_1(char s[])

{

    int i;

    i = 0;

    while(s[i] != '\n')    //找到该组的长度

        i++;

    i--;               //去掉最后的\n

    while(i >= 0 && s[i] == '\t' || s[i] == ' ')

        i--;

    if(i >= 0){

        i++;

        s[i] = '\n';

        i++;

        s[i] = '\0';

    }

    return i;

}

//若是全空格  在i--段变成-1

//若是空白字符 \t\t\n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: