#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;

}

교재 따라 쓰긴 했는데..

비주얼로 실행하면 제가 타이핑한거 복사해서 아래줄에 쳐지는데 이게 맞나요??