#include <stdio.h>
#define MINLENGTH 81
//读取缓冲区判断该输入是否为大于80个字符的那一行
int readbuff(char *buffer) {
size_t i = 0;
int c;
while (i < MINLENGTH) {
c = getchar();
if (c == EOF) return -1;
if (c == '\n') return 0;
buffer[i++] = c;
}
return 1;
}
//若满足条件输出长度大于80个字符的那一行
int copyline(char *buffer) {
size_t i;
int c;
int status = 1;
for (i = 0; i<MINLENGTH; i++)
putchar(buffer[i]);
while (status == 1) {
c = getchar();
if (c == EOF)
status = -1;
else if (c == '\n')
status = 0;
else
putchar(c);
}
putchar('\n');
return status;
}
int main(void) {
char buffer[MINLENGTH];
int status = 0;
while (status != -1) { //-1位返回文件结束标志,若不是继续循环下去,可以不断的输入。
status = readbuff(buffer);
if (status == 1)
status = copyline(buffer);
}
return 0;
}
打印长度大于80个字符的所有输入行。
最新推荐文章于 2022-12-29 14:51:24 发布