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

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

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

Как переопределить текст в исходнике (текст, как идентификатор)? - C++

09.04.2013, 00:16. Просмотров 520. Ответов 9
Метки нет (Все метки)

Здравствуйте, товарищи кодеры. Помогите товарищу по оружию, дельным советом.
Мне нужно заменить текст в исходнике.
Как вариант #define TEXT "текст"
Но это не удобно. Текстов слишком много.
Мне идеально бы подошёл такой вариант: #define "заменяемый" "заменяющий"
Но это лишь пример.
Что посоветуете?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2013, 00:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как переопределить текст в исходнике (текст, как идентификатор)? (C++):

Как правильно считать текст из файла? Весь текст, со всеми знаками, пробелами - C++
подскажите, чет затупил как правильно считать текст из файла(весь текст со всеми знаками пробелами и т.д.), чтобы поработать с этим текстом...

Как загнать текст из консоли в массив и как загнать текст из файла в массив - C++
Как загнать текст из консоли в массив и как загнать текст из файла в массив. Как использовать посимвольное чтение в с++?

Как удалить текст? - C++
Консольное приложение с++ Есть игра. В которой при нажатии определенных клавиш появляется текст. Мне нужно сделать так что бы этот текст...

Как разукрасить текст? - C++
Собственно хочу к примеру запринтефить "Hello world" зелёным цветом в консольном приложении. Среда windows VS 2010. Как просто это можно...

Как выделить текст в С++? - C++
В Norton Commander при навигации использовалось выделение, как здесь на картинке. Вот как таким образом "выделить" текст в...

Как вывести текст ? - C++
Здравствуйте. Не пинайте за такой простой вопрос. хочу елементарно вывести текст на екран. пишу так : cout << "Hello"; ...

9
nonedark2008
964 / 704 / 157
Регистрация: 28.07.2012
Сообщений: 1,931
09.04.2013, 00:21 #2
Эмм... Не пробовали просто поиск с заменой по проекту?
1
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
09.04.2013, 00:41  [ТС] #3
пробовал. но повторюсь - текста много. куда проще было бы сделать сам текст как идентификатор. жаль что директива #define не поддерживает текста в роли идентификатора.
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.04.2013, 00:48 #4
Исходник - это один файл? В нём заменить несколько кусков текста?
0
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
09.04.2013, 23:13  [ТС] #5
нет, не один, их около 20-ти. я бы просто подинклудил файл заголовка, в котором было бы универсальное решение.
В данный момент, подключен файл replace.h в котором 10 директив #define TEXT1 , 2, 3 ...
Но это неудобно, мне надоело 10 строк менять. А там их >= 1000

Добавлено через 19 часов 54 минуты
Помогите же

Добавлено через 2 часа 19 минут
.Ад
0
OhMyGodSoLong
10.04.2013, 01:09
  #6

Не по теме:

И-ден-ти-фи-ка-тор. К дефекации это слово не имеет никакого отношения.

0
UnsKneD
алкокодер
155 / 151 / 12
Регистрация: 27.12.2012
Сообщений: 550
10.04.2013, 03:29 #7
onclusiv, а если использовать лексический анализатор? И можно небольшой пример кода?
0
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
10.04.2013, 20:55  [ТС] #8
Цитата Сообщение от UnsKneD Посмотреть сообщение
onclusiv, а если использовать лексический анализатор?
Что это такое?
Цитата Сообщение от UnsKneD Посмотреть сообщение
И можно небольшой пример кода?
Зачем?
Ну вот пример:
C++
1
char buffer[] =  "Ночь. Фонарь. Разбили.";
Надо что бы я прописал к примеру в заголовке:
что то после чего "старый текст" "смениться на новый"

Тоесть физически он останется на своём месте. Но лишь отображаться будет по другому.
Ну я же приводил пример:
C++
1
2
3
4
#define RIGHT 150
#define LEFT 250
 
int x = RIGHT+LEFT;
Тоесть так же сделать бы с текстом. Что бы он был как идентификатор.
0
UnsKneD
алкокодер
155 / 151 / 12
Регистрация: 27.12.2012
Сообщений: 550
11.04.2013, 05:09 #9
Цитата Сообщение от onclusiv Посмотреть сообщение
Что это такое?
Ой, наверное я не так выразился, я имел ввиду что то такое,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
bool strCOMPARE( char *S, char *T ){
    bool flag = false;
    for( int i = 0; S[i]!='\0'; i++){
        if(S[i] == T[i] ){
            flag = true;
        } else {
            flag = false;
            break;
        }
    }
    return flag;
}
 
void show( char *T, bool flag){
    if( flag == true ){
        printf("%s\n", T);
    }
}
int main(){
    char C[] = "qweqwewqrrqwrwq"; //Строка в коде
    char TTT[] = "qweqwewqrrqwrwq"; //строка которую скопировали из кода.
    char DDD[] = "pooiuytrewq"; //Заменяющая строка
    show( DDD, strCOMPARE( C, TTT ) );
    
    return 0;
}
Мне кажется, что в любом случае придётся пройтись весь текст самостоятельно.

Есть идея с прогой, которой подсовываем исходник, она ищет все массивы чаров, и куда нибудь их записывает(например в какой нибудь заголовочный файл, затем сравниваем с тем что в тексте, если они идентичны, выводим(или переписываем в коде) тот который нужен.
Мороки думаю с этим много будет.

Добавлено через 10 минут
таким способом лучше будет переписать строки, чем каждый раз перебирать всё что есть...
1
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
14.04.2013, 11:15  [ТС] #10
Да, пожалуй вы правы.
0
14.04.2013, 11:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 11:15
Привет! Вот еще темы с ответами:

С++ Дан текст, составленный из строчных букв. Напечатать текст заглавными буквами - C++
C++ Дан текст, составленный из строчных букв. Напечатать текст заглавными буквами. Подскажите, пожалуйста, как это нужно сделать?

Неправильно отображается текст (лишний текст при вводе точки) - C++
Привет всем, нид хел по коду С++. Все работает, но не правильно отображает текст ( лишний текст при вводе символа (точки) '.'...

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

Дописать в конец a.jpeg некий секретный текст. Вывести этот текст на экран - C++
Как мне стало известно все .jpeg оканчиваются на маркер FFD9. Его мы и будем искать при выводе результата. Сначала откроем файл на...


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

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

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