Files
lab1_git/wcl.c
2025-10-11 13:00:21 +03:00

45 lines
964 B
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <stdio.h>
#include <stdlib.h>
int count_lines(const char *filename) {
FILE *file = fopen(filename, "r");
if (file == NULL) {
fprintf(stderr, "wcl: ошибка: не удалось открыть файл '%s'\n", filename);
return -1;
}
int lines = 0;
int ch;
int last_char = '\n';
while ((ch = fgetc(file)) != EOF) {
if (ch == '\n') {
lines++;
}
last_char = ch;
}
if (last_char != '\n' && last_char != EOF) {
lines++;
}
fclose(file);
return lines;
}
int main(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "Использование: %s <файл1> [файл2 ...]\n", argv[0]);
return 1;
}
for (int i = 1; i < argc; i++) {
int lines = count_lines(argv[i]);
if (lines >= 0) {
printf("%d\t%s\n", lines, argv[i]);
}
}
return 0;
}