/* Write a program to print all input lines that are longer than 80 characters. */
#include <stdio.h>
#define MAXLINE 1000 /* maximum input line size */
#define LONGLINE 80
int getline(char line[], int maxline);
/* print lines longer than LONGLINE */
main()
{
int len; /* current line length */
char line[MAXLINE]; /* current input line */
while((len = getline(line, MAXLINE)) > 0)
{
if(len > LONGLINE)
{
printf("%s", line);
}
}
return 0;
}
/* getline: read a line into s, return length */
int getline(char s[], int lim)
{
int c, i, j;
j = 0;
for(i = 0; (c = getchar()) != EOF && c != '\n'; ++i)
{
if(i < lim - 2)
{
s[j] = c; /* line still in boundaries */
++j;
}
}
if(c == '\n')
{
s[j] = c;
++j;
++i;
}
s[j] = '\0';
return i;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
C - The C Answer (2nd Edition) - Exercise 1-17
原文地址:http://blog.csdn.net/troubleshooter/article/details/47070167