Files
lab1_git/wcl.c
Ваше Имя a3cc459be7 first
2025-10-11 05:57:28 -04:00

46 lines
1.1 KiB
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;
}