3 / 3 / 2
Регистрация: 14.05.2011
Сообщений: 55
|
|
1 | |
Поиск и замена текста в файле29.06.2011, 20:01. Показов 36653. Ответов 29
Метки нет (Все метки)
Добрый день. Хочу попробовать написать программу, которая будет выполнять поиск и замену заданного текста в файле.
Подскажите, пожалуйста, в какую сторону искать? Думал сделать так с последующим выполнением действий : 1. Ввод названия\пути файла. 2. Ввод искомого слова\строки. 3. Ввод того, на что заменить. Конкретные вопросы: 1. Как осуществить поиск строки? 2. Как осуществить замену? Делать буду в обычном C. Заранее благодарю
0
|
29.06.2011, 20:01 | |
Ответы с готовыми решениями:
29
Поиск и замена текста в файле Поиск и замена текста в файле Поиск и замена текста в REG-файле Поиск текста в файле и замена его на новый |
Каратель
|
|
29.06.2011, 20:09 | 2 |
http://www.cplusplus.com/refer... ng/strstr/
или разбейте текст и искомый ткст на токены и сравнивайте
1
|
29.06.2011, 20:12 | 3 |
Алгоритмов много. Можно использовать полный перебор, а можно воспользоваться приличными алгоритма вроде Кнута-Морриса-Пратта.
Читать файл в память, работать с памятью и сбрасывать в файл, осуществляя полную перезапись.
1
|
3 / 3 / 2
Регистрация: 14.05.2011
Сообщений: 55
|
||||||
30.06.2011, 23:57 [ТС] | 4 | |||||
Попробовал, как посоветовал Maxwe11. Не работает - закрывается на моменте записи в файл.
Не мог бы кто-то проверить и подсказать?
0
|
Каратель
|
||||||
01.07.2011, 02:21 | 5 | |||||
Сообщение было отмечено как решение
Решение
результат вывожу на консоль, перезапись файла сам сделаешь
4
|
0 / 0 / 0
Регистрация: 19.03.2013
Сообщений: 23
|
|
20.03.2013, 21:41 | 6 |
Jupiter, пытаюсь написать программу. Суть такая. Есть форма для заполнения. 6 EditControl и 1 ComboBox. создал кнопку для записи в файл этих данных. Но в файл заносится например вместо вводимой фамилии Иванов вот это- 0034E2F0.и так со всеми буквами. латинские, русские. цифры отображаются как надо. это проблема раз. А вторая проблема такова. Есть так же кнопка Поиск. Так вот, помогите как организовать этот поиск по этому же файлу. В первый EditControl вводится фамилия нажимаем кнопку Поиск и в другие EditControlы забиваются данные совпадающие в базе с этой фамилией, т.е. имя, отчество, и в моем случае спектакль в котором играет человек(это в ComboBox должно быть) и дальше сколько билетов было на этот спектакль. В общем прощу помощи. заранее спасибо.
0
|
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
|
|
22.05.2013, 11:56 | 7 |
Кто может подсказать:
для чего это предназначено? strlen - возвращает длину stf, отнимаем -1 (получается удаляем символ конца строки?) и потом зачем то приравниваем к '\0' мы же таким образом вообще стираем все, но она работает... Тогда что тогда она делает скажите пожалуйста. Заранее спасибо.
0
|
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
|
||||||
22.05.2013, 14:31 | 9 | |||||
А если использовать вместо
0
|
Антикодер
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,084
|
||||||
22.05.2013, 14:46 | 10 | |||||
раз уж подняли тему, то в boost есть специальные методы для замены
пример моего кода(типа проверка на float, если не float заменить на float)
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
22.05.2013, 14:52 | 11 |
В смысле '\0' дописывать? Здесь нет. cin >> символ новой строки ('\n') не читает в массив, только '\0' добавляет. Но cin >> считывает до пробельного символа (считает слово), в отличие от fgets(), которая читает строку.
0
|
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
|
|
22.05.2013, 15:15 | 12 |
Ага почти все понял кроме главного почему хоть и стоит там '=' он добавляет а не записывает заново всю переменную? Это особенности чего strlen?
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
22.05.2013, 15:30 | 13 | ||||||||||
Про это речь?
1
|
3 / 3 / 0
Регистрация: 02.05.2013
Сообщений: 40
|
|
22.05.2013, 15:35 | 14 |
Ааааа, голова моя содовая, все разобрался! Я просто не понял что это вообще идет как массив и рассматривал ка обычную переменную, впредь буду внимательнее спасибо большое за помощь!
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
23.03.2014, 19:25 | 16 |
1
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 26
|
|
23.03.2014, 19:54 | 17 |
Параноя?)
Добавлено через 19 минут А как теперь измененную строку записать в файл? пишу так fwrite(&file, sizeof(char), 1000, str); но пишет, что error C2664: fwrite: невозможно преобразовать параметр 4 из "char [255]" в "FILE *" IntelliSense: аргумент типа "char *" несовместим с параметром типа "FILE *"
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
23.03.2014, 19:56 | 18 |
1
|
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 26
|
|
23.03.2014, 20:14 | 19 |
И последний вопрос
как сделать так, чтобы в файл печаталась только измененная строка, т.е. изначальной не было, а вместо нее - измененная?
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
23.03.2014, 20:18 | 20 |
Кода не вижу.
0
|
23.03.2014, 20:18 | |
23.03.2014, 20:18 | |
Помогаю со студенческими работами здесь
20
Поиск и замена текста в файле, в содержимом которого имеются специальные символы Поиск значений в файле и замена соответствующих в другом файле Поиск части текста в диапазоне ячеек и замена этого текста на найденное соответсвие Замена текста в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Блоги программистов | |||||
Подброка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов.
. . .
|
С чего начать программировать микроконтроллеры
raxper 06.01.2025
Введение в мир микроконтроллеров
Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
|
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
|
Обновление сайта www.historian.by
Reglage 05.01.2025
Обещал подвести итоги 2024 года для сайта. Однако начну с того, что изменилось за неделю. Добавил краткий урок по последовательности действий при анализе вредоносных файлов и значительно улучшил урок. . .
|
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
|
Модель полного двоичного сумматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list):
s=^y]
p=x and y
for i in range(1,len(x)):
s. append((x^y)^p)
p=(x and y)or(p and (x or y))
return s
x=list()
y=list()
|
Это мы не проходили, это нам не задавали...(асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
|
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
|
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения
PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
|
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
|
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
|
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9
Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
|