Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 22:49   #1
lugary
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 3
По умолчанию fstream

Создать функцию удаляющую комментарии из файлов С и С++. Функция принимает в качестве параметра имя входного и выходного файлов и удаляет из файла все части строки, следующие за символами «//», и все куски теста заключенные в символы «/*…*/», результат записывается в выходной файл.
Функция должна генерировать exception, если файл не существует или если комментарии открываются (есть «/*»), но не закрываются (нет «*/»).
Файл должен считываться по строкам с использованием функций библиотеки <fstream>, строки должны записываться в контейнер string библиотеки STL.


Код:
while (читаю строку)
{
bool comment=0;

for (int i=1; i<s.length(); i++)
{
if (comment){
if (s[i-1]=='*' && s[i]=='/') comment=0; 
continue; 
}
if (s[i-1]=='/' && s[i]=='/') {f2=1; break;}
cout << s[i-1]
}
if (!f2) 
cout<< s[s.length()-1]

f1=1;
}
вот это есть. не могу понять как считать и вывести в файл используя fstream

Последний раз редактировалось ACE Valery; 23.05.2012 в 23:09.
lugary вне форума Ответить с цитированием
Старый 23.05.2012, 22:57   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
строки должны записываться в контейнер string библиотеки STL.
простите что?
Код:
Container class templates
Sequence containers:
vector
Vector (class template )
deque
Double ended queue (class template )
list
List (class template )

Container adaptors:
stack
LIFO stack (class template )
queue
FIFO queue (class template )
priority_queue
Priority queue (class template )

Associative containers:
set
Set (class template )
multiset
Multiple-key set (class template)
map
Map (class template )
multimap
Multiple-key map (class template )
bitset
Bitset (class template)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.05.2012, 23:01   #3
lugary
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 3
По умолчанию

Standard template library (STL) включает в себя определения наиболее часто употребляемых контейнеров (таких, как vector), алгоритмов (например, алгоритм сортировки), которые работают с любыми из этих контейнеров при помощи итераторов
lugary вне форума Ответить с цитированием
Старый 23.05.2012, 23:02   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

я вам привёл примеры Stl
где там string?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.05.2012, 23:04   #5
lugary
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 3
По умолчанию

Ну по крайней мере так в задании написано. Может ошибка какая.
lugary вне форума Ответить с цитированием
Старый 24.05.2012, 00:43   #6
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

может не string, а строка char ?
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 24.05.2012, 01:43   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

string в какой то мере тоже контейнер.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.05.2012, 01:49   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

согласен! Но к STL не имеет отношения!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.05.2012, 01:57   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

имеет, ибо он часть STL.
string тоже шаблонный класс(точнее он производный от basic_string).

http://ru.wikipedia.org/wiki/Стандар...отека_шаблонов
см псевдоконтейнеры.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.05.2012, 10:13   #10
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

я когда делал лабы, там также было написано тип string, но препод говорил, что можно и char использовать.
Спеши медленно.
asmars вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
#include <fstream> shrek1993 Общие вопросы C/C++ 3 12.04.2012 20:31
fstream pinkiller Общие вопросы C/C++ 17 10.01.2012 15:39
fstream!С++ jasul Помощь студентам 7 30.10.2011 14:06
методы fstream.h Metaron Общие вопросы C/C++ 1 02.05.2011 15:13
fstream конструкторы Hemul Общие вопросы C/C++ 8 01.04.2011 20:43