Blob


1 /* 1-18. Write a program to remove trailing blanks and tabs from each
2 * line of input, and to delete entirely blank lines.
3 */
5 /* MAXLINE has been reduced for easier testing */
6 #include <stdio.h>
7 #define MAXLINE 1000
9 int getlin(char line[], int maxline);
10 void copy(char to[], char from[]);
12 main()
13 {
14 int len; /* current line length */
15 char line[MAXLINE]; /* current input line */
17 while ((len = getlin(line, MAXLINE)) > 0) {
18 if (line[0] != '\0')
19 printf("%s\n", line);
20 }
21 return 0;
22 }
24 int getlin(char s[], int lim)
25 {
26 int c, i, nullchar;
27 nullchar = 0;
29 for (i=0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i) {
30 if (c != '\t' && c != ' ') {
31 nullchar = i+1;
32 }
33 s[i] = c;
34 }
35 if (c == '\n')
36 ++i;
37 s[nullchar] = '\0';
38 return i;
39 }
41 void copy(char to[], char from[])
42 {
43 int i;
44 i = 0;
45 while ((to[i] = from[i]) != '\0')
46 ++i;
47 }