Files
Read Lines
fgets reads one line at a time into a character buffer.
Read Lines
read_lines.c
#include <stdio.h>
int main(void) {
int extraLine = ;
FILE *file = fopen("read_lines_demo.txt", "w+");
if (file == 0) {
return 1;
}
fputs("alpha\n", file);
fputs("beta\n", file);
if (extraLine) {
fputs("gamma\n", file);
}
rewind(file);
char line[16];
int lines = 0;
while (fgets(line, sizeof line, file) != 0) {
lines++;
}
fclose(file);
remove("read_lines_demo.txt");
printf("lines=%d\n", lines);
return 0;
}
#include <stdio.h>
int main(void) {
int extraLine = ;
FILE *file = fopen("read_lines_demo.txt", "w+");
if (file == 0) {
return 1;
}
fputs("alpha\n", file);
fputs("beta\n", file);
if (extraLine) {
fputs("gamma\n", file);
}
rewind(file);
char line[16];
int lines = 0;
while (fgets(line, sizeof line, file) != 0) {
lines++;
}
fclose(file);
remove("read_lines_demo.txt");
printf("lines=%d\n", lines);
return 0;
}
line buffer
The buffer limits how many characters one `fgets` call can store.
count lines
The loop increments a counter for each successfully read line.