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

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

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

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

14.09.2013, 21:15. Просмотров 633. Ответов 7
Метки нет (Все метки)

Всем привет! Вот озадачился написанием программы для поиска и удаления двойных кавычек из текстовых файлов.

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

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

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

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

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

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

ЗАранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.09.2013, 21:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа поиска и удаления кавычек в текстовом файле (C++):

Программа поиска местоположения заданного пользователем числа в текстовом файле - C++
Здравствуйте, Уважаемые форумчане! Обращаюсь к вам с просьбой в создании следующей программы: Имеем текстовый документ, где...

Программа для поиска соответствие строк, учитывая регистр, в текстовом файле с 10000+ строк - C++
Уважаемые форумчане, прошу у вас помощи я неделю в поисках. Мне нужна программа или код для поиска слов, очень похожую на расширение Pearls...

Алгоритм поиска строк в текстовом файле - C++
Доброго времени суток! Есть текстовый файл размером ~65 Мб, ~605000 строк. Из этих строк необходимо выделить строки, котрые содержат...

Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt - C++
например имеется текстовый файл 1.txt c таким содержанием 111 222 333 444 555 и имеется текстовый файл 2.txt c таким...

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

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

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

пункты 8 9 можно выбросить тогда будет два файла оригинальный и поправленный
всегда сможешь откатить свои действия
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.09.2013, 21:53 #5
Цитата Сообщение от Fess88 Посмотреть сообщение
Нет, в Linux будет все это происходить.
Не морочьте мне голову.
Bash
1
find . -type f | xargs sed -i 's/"//g'
0
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 можно выбросить тогда будет два файла оригинальный и поправленный
всегда сможешь откатить свои действия
Хороший вариант, только немного не понял, удаление кавычек происходит уже во втором файле?
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 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)
Хороший вариант, только немного не понял, удаление кавычек происходит уже во втором файле?
Нет, они просто не записываются во второй файл.
0
Fess88
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 9
14.09.2013, 22:06  [ТС] #8
OhMyGodSoLong,

Спасибо большое!!! Очень выручил!!! Спасибо!!!
0
14.09.2013, 22:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2013, 22:06
Привет! Вот еще темы с ответами:

Поиск в текстовом файле всех слов, заданных в другом текстом файле - C++
Вообщем такое задание: Поиск в текстовом файле всех слов, заданных в другом текстом файле; Не могу понять почему не работает: ...

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

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

Массив структур. Фун-я удаления и поиска. - C++
Первый курс. Решили над нами сделать эксперимент и дали нам курсовую. В принципе ничего сложного абсолютно, подобное задание в первом...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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