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

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

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

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

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

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

C++ Дан текст и некоторые два слова. Определить, сколько раз они входят в текст и...
C++ Как вывести текст ?
C++ Как правильно считать текст из файла? Весь текст, со всеми знаками, пробелами
C++ Считайте текст и выведите на экран исходный текст, а затем только четные предложения
C++ Как разукрасить текст?
C++ Дописать в конец a.jpeg некий секретный текст. Вывести этот текст на экран
C++ Как загнать текст из консоли в массив и как загнать текст из файла в массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nonedark2008
820 / 578 / 111
Регистрация: 28.07.2012
Сообщений: 1,540
09.04.2013, 00:21     Как переопределить текст в исходнике (текст, как идентификатор)? #2
Эмм... Не пробовали просто поиск с заменой по проекту?
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
09.04.2013, 00:41  [ТС]     Как переопределить текст в исходнике (текст, как идентификатор)? #3
пробовал. но повторюсь - текста много. куда проще было бы сделать сам текст как идентификатор. жаль что директива #define не поддерживает текста в роли идентификатора.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.04.2013, 00:48     Как переопределить текст в исходнике (текст, как идентификатор)? #4
Исходник - это один файл? В нём заменить несколько кусков текста?
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 минут
.Ад
OhMyGodSoLong
10.04.2013, 01:09
  #6

Не по теме:

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

UnsKneD
алкокодер
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
10.04.2013, 03:29     Как переопределить текст в исходнике (текст, как идентификатор)? #7
onclusiv, а если использовать лексический анализатор? И можно небольшой пример кода?
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;
Тоесть так же сделать бы с текстом. Что бы он был как идентификатор.
UnsKneD
алкокодер
153 / 149 / 11
Регистрация: 27.12.2012
Сообщений: 548
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 минут
таким способом лучше будет переписать строки, чем каждый раз перебирать всё что есть...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 11:15     Как переопределить текст в исходнике (текст, как идентификатор)?
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
onclusiv
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 8
14.04.2013, 11:15  [ТС]     Как переопределить текст в исходнике (текст, как идентификатор)? #10
Да, пожалуй вы правы.
Yandex
Объявления
14.04.2013, 11:15     Как переопределить текст в исходнике (текст, как идентификатор)?
Ответ Создать тему
Опции темы

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