Как посчитать строки кода в файле на c++?

Пользователь

от forest , в категории: C/C++ , год назад

Как посчитать строки кода в файле на c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от nelle , 10 месяцев назад

@forest 

Для подсчета количества строк кода в файле на C++ можно использовать следующий алгоритм:

  1. Создать переменную, которая будет хранить количество строк кода.
  2. Открыть файл с помощью функции fopen.
  3. Считывать по одной строке из файла с помощью функции fgets до тех пор, пока не достигнут конец файла.
  4. Для каждой считанной строки проверить, содержит ли она какой-либо код. Для этого можно использовать регулярные выражения или поиск ключевых слов, таких как "if", "for", "while", "switch" и т.д. Если строка содержит код, увеличить счетчик строк кода.
  5. Закрыть файл с помощью функции fclose.
  6. Вывести количество строк кода на экран или сохранить в переменную.


Вот пример кода на C++, который показывает, как реализовать такой алгоритм:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main() {
    int lines_of_code = 0;
    char buffer[1000];

    FILE* fp = fopen("filename.cpp", "r");

    if (fp != NULL) {
        while (fgets(buffer, 1000, fp) != NULL) {
            bool has_code = false;

            // Проверяем строку на наличие кода
            if (strstr(buffer, "if") || strstr(buffer, "for") || strstr(buffer, "while")) {
                has_code = true;
            }

            if (has_code) {
                lines_of_code++;
            }
        }

        fclose(fp);
    }

    cout << "Lines of code: " << lines_of_code << endl;

    return 0;
}