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

работа с файлами - C++

Войти
Регистрация
Восстановить пароль
 
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 20:56     работа с файлами #1
1. Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Удалить из этого файла все фразы, содержащие слово «мама».

как сравнивать слово мама??

Добавлено через 2 часа 19 минут
ап ап ап
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2010, 20:56     работа с файлами
Посмотрите здесь:

C++ работа с файлами в С/C++
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами
C++ работа с файлами
C++ Работа с файлами
C++ Работа с файлами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
orienteer
7 / 6 / 0
Регистрация: 23.06.2009
Сообщений: 41
27.05.2010, 21:12     работа с файлами #2
пробелы и знаки есть такая проверка (ispunct(ch)) && (isspace(ch))
можешь читать текст по словам и сравнить слова, в std::string норм сравнивает вроде
можешь воспользоваться string::substr для поиска подстроки или string::replace
http://www.cplusplus.com/reference/s...string/substr/
читаешь до точки, через substr смотришь есть ли вхождение, если нет - копируешь в другой файл , потом обратно скопируешь
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 21:14  [ТС]     работа с файлами #3
очень полезно, спасибо
но , можно функции на С ?
orienteer
7 / 6 / 0
Регистрация: 23.06.2009
Сообщений: 41
27.05.2010, 21:20     работа с файлами #4
на С не знаю, поищи в поиске "поиск подстроки в строке"
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 21:31  [ТС]     работа с файлами #5
я поискал, но там страшные вещи которых я не знаю ...
объясните алгоритм кто нибудь, и чтобы попроще
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 21:35     работа с файлами #6
На Си есть функция strstr.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 22:00  [ТС]     работа с файлами #7
а как удалять слова??
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 22:04     работа с файлами #8
Открываешь новый файл, записываешь строки из первого за исключением не нужных, сохраняешь новый файл, удаляешь старый, переименовываешь новый.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 22:05  [ТС]     работа с файлами #9
ладно, как удалять старый файл? и как переименовывать
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 22:23     работа с файлами #10
Удаление
C
1
int remove(const char *filename);
Переименовывание
C
1
int rename(const char *oldname, const char *newname);
Обе функции в stdio.
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 23:26  [ТС]     работа с файлами #11
респект

Добавлено через 1 час 2 минуты
еще банальный вопрос, как сосчитать количество символов в файле??
вот например
fgets(str1,...,fp); я не знаю сколько их там, как сосчитать??
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 23:31     работа с файлами #12
Размер файла в байтах можно узнать такой контсрукцией
C
1
2
3
4
long size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
fseek(fp, 0, SEEK_SET);
so1o
33 / 33 / 2
Регистрация: 16.11.2009
Сообщений: 192
27.05.2010, 23:32  [ТС]     работа с файлами #13
значит я могу
fgets(str1,...,fp); вместо многоточии написать size?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.05.2010, 23:39     работа с файлами #14
Если str1 позволяет, то да.

Добавлено через 2 минуты
Но сдесь лучше fread использовать, т.к если в файле есть символ перевода строки, то fgets будет плевать на size, он будет считывать до новой строки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2011, 19:24     работа с файлами
Еще ссылки по теме:

C++ Работа с файлами
Работа с файлами C++
C++ Работа с файлами
C++ Работа с файлами
C++ Работа с файлами

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

Или воспользуйтесь поиском по форуму:
Kapioner
 Аватар для Kapioner
1 / 1 / 0
Регистрация: 16.02.2011
Сообщений: 30
16.02.2011, 19:24     работа с файлами #15
Ну чё ты решил эту задачку? Можешь скинуть рабочий код? просто у меня типа такой, я вообще понятия не имею как её осуществить, у меня удалить из этого файла фразы, содержащие предлоги «с», «на», «под».
Yandex
Объявления
16.02.2011, 19:24     работа с файлами
Ответ Создать тему
Опции темы

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