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

Программа поиска и удаления кавычек в текстовом файле - C++

Восстановить пароль Регистрация
 
Fess88
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 9
14.09.2013, 21:15     Программа поиска и удаления кавычек в текстовом файле #1
Всем привет! Вот озадачился написанием программы для поиска и удаления двойных кавычек из текстовых файлов.

К примеру, есть папка, в ней может быть несколько текстовых файлов. Нужно по очереди открыть каждый файл, проверить на наличие кавычек, в случае их нахождения, удалить их (кавычки), сохранить файл, и закрыть.

Т.к в C++ мои познания довольно посредственны, прошу совета по алгоритму, как лучше действовать?

Сам я представляю это примерно так:

1. Открываем файл
2. Считываем данные из файла в массив, либо в переменную
3. Перебираем циклом этот массив либо переменную на наличие кавычек, если находим, удаляем их.
4. При достижении конца файла, сохраняем.

Вот, примерно так. Посоветуйте, может есть какой-то более оптимальный вариант?

И еще, не знаю как реализовать просмотр папки на наличие файлов, и последующего поочередного их открытия. Подскажите пожалуйста!

ЗАранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.09.2013, 21:41     Программа поиска и удаления кавычек в текстовом файле #2
Цитата Сообщение от Fess88 Посмотреть сообщение
И еще, не знаю как реализовать просмотр папки на наличие файлов, и последующего поочередного их открытия.
Если винда, то я бы использовал FindFirstFile и FindNextFile.
Fess88
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 9
14.09.2013, 21:46  [ТС]     Программа поиска и удаления кавычек в текстовом файле #3
Цитата Сообщение от Nekto Посмотреть сообщение
Если винда, то я бы использовал FindFirstFile и FindNextFile.
Нет, в Linux будет все это происходить.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
14.09.2013, 21:50     Программа поиска и удаления кавычек в текстовом файле #4
Цитата Сообщение от Fess88 Посмотреть сообщение
Сам я представляю это примерно так:
1. Открываем файл
2. Считываем данные из файла в массив, либо в переменную
3. Перебираем циклом этот массив либо переменную на наличие кавычек, если находим, удаляем их.
4. При достижении конца файла, сохраняем.
может тебе такой вариант подойдет
1 открываем файл на чтение
2 создаем другой файл
3 считываем значение из первого файла
4 если кавычки ничего не делаем
5 если нет то записываем значение во второй файл
6 достигли конца файла? нет идем к п.3
7 закрываем оба файла
8 удаляем первый файл
9 переименовываем второй файл в первый

пункты 8 9 можно выбросить тогда будет два файла оригинальный и поправленный
всегда сможешь откатить свои действия
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.09.2013, 21:53     Программа поиска и удаления кавычек в текстовом файле #5
Цитата Сообщение от Fess88 Посмотреть сообщение
Нет, в Linux будет все это происходить.
Не морочьте мне голову.
Bash
1
find . -type f | xargs sed -i 's/"//g'
Fess88
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 9
14.09.2013, 21:58  [ТС]     Программа поиска и удаления кавычек в текстовом файле #6
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Не морочьте мне голову.
Bash
1
find . -type f | xargs sed -i 's/"//g'
Через bash действительно проще... Можно поподробнее про каждый параметр?

На C++ все равно хочу для себя, написать.

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
может тебе такой вариант подойдет
1 открываем файл на чтение
2 создаем другой файл
3 считываем значение из первого файла
4 если кавычки ничего не делаем
5 если нет то записываем значение во второй файл
6 достигли конца файла? нет идем к п.3
7 закрываем оба файла
8 удаляем первый файл
9 переименовываем второй файл в первый

пункты 8 9 можно выбросить тогда будет два файла оригинальный и поправленный
всегда сможешь откатить свои действия
Хороший вариант, только немного не понял, удаление кавычек происходит уже во втором файле?
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.09.2013, 22:02     Программа поиска и удаления кавычек в текстовом файле #7
Можно поподробнее про каждый параметр?
Bash
1
2
3
4
5
6
7
find     # найти
.        # в текущей директории
-type f  # все файлы
| xargs  # найденное передать как аргумент
sed      # потоковому редактору файлов
-i       # который откроет файл, обработает его и запишет результат туда же
's/"//g' # заменив (s) кавычки (/"/) на пустое место (//) во всём файле (g)
Хороший вариант, только немного не понял, удаление кавычек происходит уже во втором файле?
Нет, они просто не записываются во второй файл.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2013, 22:06     Программа поиска и удаления кавычек в текстовом файле
Еще ссылки по теме:

Программа поиска местоположения заданного пользователем числа в текстовом файле C++
C++ поиск в текстовом файле
C++ Удаления узла из бинарного дерева поиска

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

Или воспользуйтесь поиском по форуму:
Fess88
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 9
14.09.2013, 22:06  [ТС]     Программа поиска и удаления кавычек в текстовом файле #8
OhMyGodSoLong,

Спасибо большое!!! Очень выручил!!! Спасибо!!!
Yandex
Объявления
14.09.2013, 22:06     Программа поиска и удаления кавычек в текстовом файле
Ответ Создать тему
Опции темы

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