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

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

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

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

17.02.2013, 23:19. Просмотров 544. Ответов 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++
Здравствуйте, уважаемые программисты! Я в С++ только недавно, в программировании совсем ничего еще не смыслю, поэтому обращаюсь к Вам за...

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

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

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

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

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

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

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

Добавлено через 2 минуты
ИМХО, читать нужно строками, комментарии вида // могут стоять вначале строки или в конце. С /* */ сложнее, вам нужно писать код который будет искать парные скобки
alsav22
5416 / 4812 / 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
5416 / 4812 / 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     Перенос текста в файл без комментариев
Еще ссылки по теме:

Перенос из головного файла 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...

расшифровка текста без ключа - C++
Здарова! Решаю задачку по С++ нужно расшифровать текст без ключа. Текст шифруется так: от есть строка &quot;Hellow world&quot; и ключ &quot;key&quot; ...

вывод текста без использования библиотек? - C++
в общем вот такая вот задачка на Turbo C написать такую дрянь надо , блин говорят всего то строчки 3-4 ....вообще без использования любых...

Как сделать получение текста из консоли, без остановки программы? - C++
Вообщем суть вопроса в заголовке. Допустим, у меня есть цикл: char str; while(true) { gets(str); //прочие действия } Мне...

Напечатать самое длинное слово из текста (без использования string) - C++
Напечатать самое длинное слово из текста на С++. Запретили пользоваться string. Нужна блок-схема алгоритма


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

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

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