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

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

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

Как изменить значения одного параметра в разных файлах - C++

22.04.2016, 13:00. Просмотров 179. Ответов 4
Метки нет (Все метки)

Задача простенькая, но я далек от программирования и всем что связано с этим.
Дело вот в чем, есть у меня папка, в этой папке файлы, которые открываются простым блокнотом, но я работаю через Notepad++ (проще)
В файлах есть различные значения, но мне нужно подкорректировать только одно "Weight = 5", "Weight = 0.1", "Weight = 0.03" и т. д.
И вообщем то решение на ум пришло только одно заменить все значения в этой папке по убыванию типа так
"Weight = 1" на "Weight = 0"
"Weight = 2" на "Weight = 0" и так до 9.
Затем перейти на десятичные значения, а затем и сотые, чтоб подобным методом все различные значения привести к 0. Тапками не кидаться, я реально далек от программирования)))
Но вот не задача в разных файлах расстояния между словом Weight, знаком равно и цифрой всегда разное. Кое-где покапавшись, целых блин пол часа, я узнал что это неведомый для меня пропуск называется табуляция.
Полазив по файлам, определил что в разных файлах между словом, знаком равно и цифрой присутствуют как пробел так и табуляция при чем в разных значения. Бывает 2 пробела и 3 табуляции, а бывает и 1 пробел без табуляций, при чем бывает как до знака равно так и после.

Вообщем прошу помощи у знающих людей как одним разом отредактировать 15 файлов, в которых свыше 4000 подобных значений. Редактировать руками каждый файл это то еще занятие...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2016, 13:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как изменить значения одного параметра в разных файлах (C++):

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

Как расположить шаблонный класс в разных файлах? - C++
Есть некоторый класс A, он размещен в разных файлах так: main.cpp : #include <iostream> #include "a.h" int main() { A a; } ...

Видимость переменной в разных файлах - C++
Добрый вечер) Помоги пожалуйста разобраться) Нужно чтобы переменная len из файла 2 попала (была определена) в файле 1. Компилятор выдает...

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

Перечислимые типы в разных файлах проекта - C++
Написал прогу: 1.срр - основной файл 2.h - файл с объявлениями функций 2.срр - файл с описанием функций я создаю перечислимый...

Объявлние классов в разных заголовочных файлах - C++
Приветствую всех участников форума. Есть 2 класса А и В. Каждый из содержит указатель на другой класс. Как сделать объявление классов в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cordfield
39 / 39 / 13
Регистрация: 04.05.2014
Сообщений: 172
22.04.2016, 14:21 #2
В Notepad++ выбрать пункт меню "Search - Replace".
Перейти на вкладку "Find in Files".
Выбрать директорию, в которой надо провести замены.
Выбрать search mode: regular expression
Указать find what: ^Weight = [0-9.]+$
Указать replace with: Weight = 0
Нажать кнопку "Replace in files"
Pew_pew
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 62
22.04.2016, 16:48  [ТС] #3
Попробовал, ничего не произошло. Есть идеи почему?
Я могу выложить один из файлов, если не сложно можешь сам попробовать, вдруг я что-то не так делаю
Вложения
Тип файла: txt Camping.txt (10.1 Кб, 4 просмотров)
cordfield
39 / 39 / 13
Регистрация: 04.05.2014
Сообщений: 172
22.04.2016, 20:16 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Pew_pew, для такого файла надо указать следующее:
find what: "[ \t]*Weight[ \t]*=[ \t]*[0-9.]+," без кавычек
replace with: " Weight = 0," без кавычек, перед словом "Weight" 8 пробелов для выравнивания
Pew_pew
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 62
23.04.2016, 14:40  [ТС] #5
Цитата Сообщение от cordfield Посмотреть сообщение
Pew_pew, для такого файла надо указать следующее:
find what: "[ \t]*Weight[ \t]*=[ \t]*[0-9.]+," без кавычек
replace with: " Weight = 0," без кавычек, перед словом "Weight" 8 пробелов для выравнивания
Спасибо большое помогло!
Сработало во всех файлах.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2016, 14:40
Привет! Вот еще темы с ответами:

Связка двух функций в разных .cpp файлах - C++
Извиняюсь если тема поднималась, может я плохо искал но не нашел вразумительного объяснения связывания двух функций через заголовочный...

Реализовать двусвязный список. В разных узлах одного списка может быть любой объект одного из допустимых типов (своих знаний не хватает) - C++
Вобщем делаю тестовые задания. На одно мне даже ответили, результат отрицательный. Помогите понять если кто поймёт его не так как я или...

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

Как вывести значения функции в разных точках с определенным шагом? - C++
Нужно протабулировать функцию в промежутке от 1 до 1000 с шагом 0.1 (то есть нужно вывести значение функции в точках 1, 1.1,1.2, ...,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.04.2016, 14:40
Ответ Создать тему
Опции темы

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