Главная » Удаление комментариев кода (Си/Си++)
11:28

Удаление комментариев кода (Си/Си++)


Задание:

Напишите программу, убирающую все комментарии из любой Си-программы. Не забудьте должным образом обработать строки символов и строковые константы. Комментарии в Си не могут быть вложены друг в друга.

Идея:

Считать код из входного файла, удалить комментарии в коде и вывести в выходной файл. В качестве кода используем код самой программы.


Решение (Visual studio):


#include "stdafx.h"
#include <stdio.h>
#include "stdlib.h"
int main()
{
    char c;
    FILE *fin, *fout;
    fopen_s(&fin, "in.txt", "r"); //чтение файла
    fopen_s(&fout, "out.txt", "w"); //запись файла
    while ((c = fgetc(fin)) != EOF) //конец потока
    {
        if (c != '/')
        {
            fputc(c, fout);
        }
        else
        if ((c = fgetc(fin)) == '/')
        {
            while (c != '\n')
            {
                fputc(' ', fout);
                c = fgetc(fin);
            }
            fputc('\n', fout);
        }
        else
        {
            fputc('/', fout);
            fputc(c, fout);
        }
    }
    fclose(fout); //закрыть
    fclose(fin);
    return 0;
}


Пример входного файла:



Пример выходного файла:



Похожие материалы:
Нашли ошибку на сайте? Напишите в комментариях!
Категория: Язык программирования: Си/Си++ | Просмотров: 397 | Добавил: Ученик | Рейтинг: 5.0/1