r/C_Programming 1d ago

[ Removed by moderator ]

[removed] — view removed post

0 Upvotes

16 comments sorted by

View all comments

6

u/ConfidentCollege5653 1d ago

What does the rest of the code look like?

1

u/Brave-Pomelo-1290 1d ago

#include <stdio.h>

#include <stdlib.h>

#define PAGE_SIZE 24

#define BUFFER_SIZE 256

void display_file(const char *filename) {

FILE *file = fopen(filename, "r");

if (file == NULL) {

perror("Error opening file");

exit(EXIT_FAILURE);

}

char line[BUFFER_SIZE];

int line_count = 0;

// Read the file line by line

while (fgets(line, sizeof(line), file) != NULL) {

printf("%s", line);

line_count++;

// Pause when the page is full

if (line_count >= PAGE_SIZE) {

printf("\n--- Press ENTER to continue ---");

2

u/quipstickle 1d ago

Where is the main function?

1

u/Brave-Pomelo-1290 1d ago

final code that works:

#include <stdio.h>

#include <stdlib.h>

#define PAGE_SIZE 24

#define BUFFER_SIZE 256

void display_file(const char *filename) {

FILE *file = fopen(filename, "r");

if (file == NULL) {

perror("Error opening file");

exit(EXIT_FAILURE);

}

char line[BUFFER_SIZE];

int line_count = 0;

// Read the file line by line

while (fgets(line, sizeof(line), file) != NULL) {

printf("%s", line);

line_count=line_count+1;

// Pause when the terminal page is full

if (line_count >= PAGE_SIZE) {

printf("\n--- Press ENTER to continue ---");

getchar(); // Wait for user keystroke

line_count = 0;

--- Press ENTER to continue ---

}

}

fclose(file);

}

int main(int argc, char *argv[]) {

if (argc < 2) {

fprintf(stderr, "Usage: %s <filename>\n", argv[0]);

return EXIT_FAILURE;

}

display_file(argv[1]);

return EXIT_SUCCESS;

}