|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.11.2018, 09:26 | #1 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Непонятки с видом инициализации строки.
Здравствуйте!
Не правильно работала одна программа и по-разному тестировал проблему, пока не вышел на её причину. Прошу знающих объяснить в чем дело. Вот первый вид тестовой программы: Код:
Цель - именно проверка работы условия. Если str3 сразу инициализировать значением "a" и закомментить строку инициализацией выражением Код:
Вот вид программы с неработающим условием Код:
|
09.11.2018, 10:49 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
У вас исходник в какой кодировке?
|
09.11.2018, 11:35 | #3 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Спасибо. Действительно раскладка видать не та была при инициализации str3 символом "а".
Сейчас исправил и работает условие. Но в той программе с которой всё началось, которую я вам показывал в лс, там всё равно идентичное условие не работает. Там я конечно же проверил кодировку чтобы совпадала с условием и предустановленными значениями. Не работает. |
09.11.2018, 11:37 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Я вечером или на выходных ее гляну. Но, мне кажется, там алгоритм проще можно организовать.
|
09.11.2018, 11:47 | #5 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Спасибо. Я сейчас в основной программе дописал
Код:
В общем буду выявлять.)) |
09.11.2018, 11:58 | #6 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Сделал. Там была пара лишних скобок, и выражение
substr((((str2.length() - 1), 1))) считалось как substr с одним аргументом. т.е. не один символ а несколько. Вот условие и не срабатывало. str4 в отладчике значение показало)) |
09.11.2018, 12:05 | #7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
Так я ж вам сразу сказал - смотрите, что показывает студия после той строки, какие сравнения выполняла и что они вернули.
А со скобками у вас беда... Вот, например, в данном коде зачем вам в ифе две скобки, если вы подусловия не выделяете? Зачем str2.length() - 1 в параметрах отдельные скобки? |
09.11.2018, 18:53 | #8 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
Дык.. Учусь же)))
Последний раз редактировалось KAMLS; 09.11.2018 в 18:56. |
09.11.2018, 18:56 | #9 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
При выполнении не показывали. субстр выполняясь нигде не отображался. Пока я новую строку не соорудил и не стал в неё забивать текущее выполнение стр2. Там то я сразу и увидел что забивается не то и сразу нашел причину - лишние скобки. Сейчас то уже внимательнее буду.
|
09.11.2018, 20:36 | #10 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,760
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка инициализации | D6ist | Общие вопросы Delphi | 0 | 25.03.2018 17:16 |
Ежегодно в город поставляется одним видом транспорта P т картофеля из колхозов «Тарново», «Макаровцы», «Прогресс» соответственно по цене за одну тонну С1 руб., С2 руб. и С3 руб. | igormel | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 05.05.2017 14:51 |
БД "Прогноз погоды". Вычислить количество дней с заданным видом осадков и посчитать сколько % данный вид осадков от общего числа | sasha_14-88 | БД в Delphi | 2 | 21.11.2014 13:37 |
проблема инициализации opengl | nikita1234 | Помощь студентам | 3 | 18.07.2014 22:32 |
Преобразование для инициализации | MyLifeStyle | Общие вопросы C/C++ | 2 | 15.05.2014 20:22 |