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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Psyren112
0 / 0 / 0
Регистрация: 11.11.2012
Сообщений: 4
#1

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

17.02.2013, 23:19. Просмотров 556. Ответов 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
#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;
}
Прошу подсказать, как сделать, чтобы программа писала следующую строку после определенного знака, или же подсказать другое решение. Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 23:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перенос текста в файл без комментариев (C++):

Дан текст программы на С++...Записать в выходной файл текст программы без комментариев - C++
( структуры и текстовые файлы)– Чтение данных в массив структур должно производиться из входного текстового файла. Дан текст...

Удаление из текста программы комментариев с использованием списков - C++
Здравствуйте, уважаемые программисты! Я в С++ только недавно, в программировании совсем ничего еще не смыслю, поэтому обращаюсь к Вам за...

Удаление комментариев из текста программы с использованием STL, ошибка при выполнении - C++
Здравствуйте решал задачу с использованием STL из книги Страуструпа 6.22 возникла проблема программа вылетает, помогите пожалуйста...

Си++, помещение комментариев из кода страницы в отдельный файл - C++
Добрый вечер! Мне необходимо комментарии из кода программы поместить в отдельный файл. Программа работает, но не совсем правильно. Вместе с...

Считывание из файла комментариев и запись их в один файл (Ошибка в программе) - C++
По заданию мне нужно написать программу, которая бы из файла считывала комментарии и записывала их в один файл, а оставшийся текст - в...

Удаление комментариев в файле (файл - код програмы на с++ записанв блокноте) - C++
Есть файл(.txt) в котором заисан код проги с комментариями . Как удалить с файла все комментарии ?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
18.02.2013, 00:45 #2
Комментарии бывают двух видов - // и /* */, т.е. однострочные и многострочные(в общем случае). Вы какие собираетесь удалять?

Добавлено через 2 минуты
ИМХО, читать нужно строками, комментарии вида // могут стоять вначале строки или в конце. С /* */ сложнее, вам нужно писать код который будет искать парные скобки
alsav22
5417 / 4813 / 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
5417 / 4813 / 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 Посмотреть сообщение
С этого места поподробнее...
Например есть начало комментария /* , и наоборот в тексте появился только конец комментария, либо в комментарии /* /* */, чтото типо такого.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
22.02.2013, 09:41 #7
Цитата Сообщение от Psyren112 Посмотреть сообщение
Например есть начало комментария /* , и наоборот в тексте появился только конец комментария
Это не комментарии, это синтаксическая ошибка.
Цитата Сообщение от Psyren112 Посмотреть сообщение
либо в комментарии /* /* */
Здесь нет ничего необычного, обычный многострочный комментарий, в теле которого есть последовательность символов /*, которая никак не воспринимается лексическим анализатором.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2013, 09:41
Привет! Вот еще темы с ответами:

Перенос цифр из одного текста в другой - C++
Суть задачи: с клавиатуры вводится текст(я вставил только малую часть ибо он огромен) class Object0 { type = &quot;UralWreck&quot;; ...

Перенос значение в файл - C++
Народ подскажите как исходное значение перенести в тхт файл ..... и ище вопросик как значение вывести в матрицу ( если у меня програма...

Перенос строки при записи в файл - C++
Здравствуйте. Никак не могу разобраться почему при записи в файл записывается только одна последняя строчка. Я думаю, что просто не...

Перенос из головного файла h в CPP файл - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &quot;OverOper.h&quot; using namespace std; int main () { do { cout &lt;&lt; &quot;1. Use...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.02.2013, 09:41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru