Revise the main routine of the longest-line program so it will correctly print the length of arbitrarily long input lines,and as much as possible of the text.
#include<stdio.h>
#define MAXLINE 1000
int getlines(char line[], int minline);
void copy(char to[], char from[]);
/*print the length of the input line and the lines content*/
main()
{
int len;
int max;
char line[MAXLINE];
char longest[MAXLINE];
while((len = getlines(line, MAXLINE)) > 0)
printf("%d %s",len, line);
if(len > max){
max = len;
copy(longest,line);
}
if(max > 0)
printf("%s",longest);
return 0;
}
int getlines(char s[],int lim)
{
int c,i;
for(i=0; i<lim-2 && (c = getchar())!= EOF && c!='\n';++i)
s[i] = c;
if( c == '\n')
{
s[i] = c;
++ i;
}
s[i] = '\0';
return i;
}
void copy(char to[],char from[])
{
int i;
i = 0;
while((to[i] = from [i]) != '\0')
++ i;
}
"revised.c" 48 lines, 729 characters