Path: blob/master/languages/cprogs/Ex_1.18_remtrailbt.c
1240 views
/**1*2* Exercise 1.18 - Write a Program to remove the trailing blanks and tabs3* from each input line and to delete entirely blank lines4*5**/67#include<stdio.h>89#define MAXLINE 10001011int mgetline(char line[],int lim);12int removetrail(char rline[]);1314int main(void)15{16int len;17char line[MAXLINE];1819while((len=mgetline(line,MAXLINE))>0)20if(removetrail(line) > 0)21printf("%s",line);2223return 0;24}252627int mgetline(char s[],int lim)28{29int i,c;3031for(i=0;i<lim-1 && (c=getchar())!=EOF && c!='\n';++i)32s[i] = c;33if( c == '\n')34{35s[i]=c;36++i;37}38s[i]='\0';3940return i;41}4243/* To remove Trailing Blanks,tabs. Go to End and proceed backwards removing */4445int removetrail(char s[])46{47int i;4849for(i=0; s[i]!='\n'; ++i)50;51--i; /* To consider raw line without \n */5253for(i >0; ((s[i] == ' ') || (s[i] =='\t'));--i)54; /* Removing the Trailing Blanks and Tab Spaces */5556if( i >= 0) /* Non Empty Line */57{58++i;59s[i] = '\n';60++i;61s[i] = '\0';62}63return i;64}656667