Форум программистов, компьютерный форум CyberForum.ru

Перенос текста в файл без комментариев - C++

Восстановить пароль Регистрация
 
Psyren112
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 4
17.02.2013, 23:19     Перенос текста в файл без комментариев #1
Дело такое, нужно написать программу, которая из одного файла, в котором написана рабочая программа с комментариями, переносит текст в другой текстовый файл, но уже без комментариев. Хотел сделать, чтобы программа переносила текст до знака /, но как сделать чтобы она начинала писать следующую строку после символа не понял.
Есть небольшой набросок, но там написана чушь, где программа просто убирает все / из файла.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <fstream>
#include <iostream>
using namespace std;
 
int main ()
{
    fstream fin;
    fstream fout;
    char c;
 
    fin.open("in.txt", ios::in);
    fout.open("out.txt", ios::out);
    fin.get(c);
    while (fin)
    {
        if (c != '/') fout.put(c);
        fin.get(c);
    };
 
    fin.close ();
    fout.close ();
    return 0;
}
Прошу подсказать, как сделать, чтобы программа писала следующую строку после определенного знака, или же подсказать другое решение. Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
18.02.2013, 00:45     Перенос текста в файл без комментариев #2
Комментарии бывают двух видов - // и /* */, т.е. однострочные и многострочные(в общем случае). Вы какие собираетесь удалять?

Добавлено через 2 минуты
ИМХО, читать нужно строками, комментарии вида // могут стоять вначале строки или в конце. С /* */ сложнее, вам нужно писать код который будет искать парные скобки
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.02.2013, 01:02     Перенос текста в файл без комментариев #3
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
#include <fstream>
#include <iostream>
using namespace std;
 
int main ()
{  
   
    fstream fin; 
    fstream fout;
    char c;
 
    fin.open("in.txt", ios::in);
    fout.open("out.txt", ios::out); 
    
    while (true)
    {
        fin.get(c);
        if (fin.eof()) break;
        if (c == '/' && fin.peek() == '/')
        { 
            fout.put('\n');
            fin.ignore(255, '\n'); 
        }
        else fout.put(c);
    }
 
    fin.close ();
    fout.close ();
   
   system("pause");
   return 0;
 }
Psyren112
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 4
18.02.2013, 01:53  [ТС]     Перенос текста в файл без комментариев #4
Цитата Сообщение от vua72 Посмотреть сообщение
Комментарии бывают двух видов - // и /* */, т.е. однострочные и многострочные(в общем случае). Вы какие собираетесь удалять?

Добавлено через 2 минуты
ИМХО, читать нужно строками, комментарии вида // могут стоять вначале строки или в конце. С /* */ сложнее, вам нужно писать код который будет искать парные скобки
Который находит // ,а читает по 1 символу,ибо задание у меня такое

Добавлено через 29 минут
Цитата Сообщение от Psyren112 Посмотреть сообщение
Который находит // ,а читает по 1 символу,ибо задание у меня такое
Сорри, как выяснилось, нужно убирать любого вида комментарии,так же у которых может не быть начала либо конца
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.02.2013, 02:00     Перенос текста в файл без комментариев #5
Цитата Сообщение от Psyren112 Посмотреть сообщение
так же у которых может не быть начала либо конца
С этого места поподробнее...
Psyren112
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 4
18.02.2013, 02:07  [ТС]     Перенос текста в файл без комментариев #6
Цитата Сообщение от alsav22 Посмотреть сообщение
С этого места поподробнее...
Например есть начало комментария /* , и наоборот в тексте появился только конец комментария, либо в комментарии /* /* */, чтото типо такого.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 09:41     Перенос текста в файл без комментариев
Еще ссылки по теме:

C++ Си++, помещение комментариев из кода страницы в отдельный файл
C++ перенос цифр из одного текста в другой
C++ Удаление комментариев из текста программы с использованием STL, ошибка при выполнении

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
22.02.2013, 09:41     Перенос текста в файл без комментариев #7
Цитата Сообщение от Psyren112 Посмотреть сообщение
Например есть начало комментария /* , и наоборот в тексте появился только конец комментария
Это не комментарии, это синтаксическая ошибка.
Цитата Сообщение от Psyren112 Посмотреть сообщение
либо в комментарии /* /* */
Здесь нет ничего необычного, обычный многострочный комментарий, в теле которого есть последовательность символов /*, которая никак не воспринимается лексическим анализатором.
Yandex
Объявления
22.02.2013, 09:41     Перенос текста в файл без комментариев
Ответ Создать тему
Опции темы

Текущее время: 21:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru