#include
#include
#define PAGELEN 24
#define LINELEN 512
void do_more(FILE *);
int see_more();
int main(int ac, char *av[])
{
FILE *fp;
if (ac == 1)
do_more(stdin);
else
while (--ac)
if ((fp = fopen_s(&fp,*++av, "r")) != NULL)
{
do_more(fp);
fclose(fp);
}
else
exit(1);
return 0;
}
void do_more(FILE *fp)
{
char line[LINELEN];
int num_of_lines = 0;
int see_more(), reply;
while (fgets(line, LINELEN, fp))
{
if (num_of_lines == PAGELEN)
{
reply = see_more();
if (reply == 0)
break;
num_of_lines -= reply;
}
if (fputs(line, stdout) == EOF)
exit(1);
num_of_lines++;
}
}
int see_more()
{
int c;
printf("[7m more? [m");
while ((c = getchar()) != EOF)
{
if (c == 'q')
return 0;
if (c == ' ')
return PAGELEN;
if (c == ' ')
return 1;
}
return 0;
}
교재 따라 쓰긴 했는데..
비주얼로 실행하면 제가 타이핑한거 복사해서 아래줄에 쳐지는데 이게 맞나요??
댓글 0