С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 01.08.2012
Сообщений: 10

Не могу получить корректное поведение от своих функций в связке с string::compare

27.06.2018, 21:00. Показов 783. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется функция, которая считывает строку и разделяет ее по разделителю на вектор string'ов.
Далее каждый из string'ов берется через
C++
1
std::string temp = sequenceOfElements.at(i);
и сравнивается с литералом (oid, name, и т.д.).
Все значения пробовал сравнивать как с помощью
C++
1
temp.compare(ID) == 0
, так и с помощью
C++
1
strcmp(temp.c_str(), ID)
.
При этом все не крайние значения вектора проходят проверку отлично, а первое и последнее возвращают странные результаты:

C++
1
2
temp is oid
temp.compare(oid) = 128
C++
1
2
temp is coord_dolgota
temp.compare(coord_dolgota) = 1
Как можно посмотреть, какое значение действительно сохраняется в temp? Оно явно не соответствует тому, что выводится на печать. М.б. ,в первую и последнюю строку какие-то служебные символы попадают?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.06.2018, 21:00
Ответы с готовыми решениями:

Метод compare string
Всем привет! Не могу понять в чем у меня ошибка! Применяю метод compare из string, но компилятор выдает ошибку, что мало параметров в...

Std::string compare
#include <cstring> #include <iostream> int main() { std::string a = "aa"; std::string b = "ab"; std::cout <<...

Из своих фамилии и имени с помошью строковых функций получить 10 слов и вывести их на экран
Из своих фамилии и имени с помощью строковых функций получить 10 слов и вывести их на экран.

3
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
27.06.2018, 21:44
Цитата Сообщение от Hrozhek Посмотреть сообщение
Как можно посмотреть, какое значение действительно сохраняется в temp?
В режиме отладки поставить точку останова в интересующую тебя часть программы, тогда можно будет посмотреть значения всех переменных в области видимости.
1
1 / 1 / 0
Регистрация: 01.08.2012
Сообщений: 10
28.06.2018, 15:43  [ТС]
это, конечно, было бы идеально, но такой возможности пока нет (пробовал ужаснейший IDE code::blocks, но в нем невозможно скомпилировать проект из нескольких исходных файлов, только вручную переносить исходный код из каждого файла + это один сплошной баг, при нажатии на какую-либо кнопку намертво зависает процесс). Буду искать адекватный IDE (в идеале с поддержкой makefile'ов, или хотя бы чтобы загрузить проект с github и не париться). А если пока подскажете, как с помощью g++ и gedit посмотреть, буду благодарен
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
28.06.2018, 21:22
Цитата Сообщение от Hrozhek Посмотреть сообщение
в идеале с поддержкой makefile'ов
мб NetBeans
Цитата Сообщение от Hrozhek Посмотреть сообщение
как с помощью g++
GDB и различные графические навороты над ним...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.06.2018, 21:22
Помогаю со студенческими работами здесь

Неправильно работает string.compare()
Доброго всем времени суток. Столкнулся с проблемой - не могу решить. Есть отсортированный файл: Файл большой, поэтому...

String.Compare - сравнение строковых величин
Не знаю,как в моем статическом методе "Sravnenie" сравнить строковые величины(ylica, name)...знаю, что с помощью String.Compare только как,...

Сравнение строк с помощью String.Compare
Доброго времени суток. Нужна помощь с String.Compare. В общем, ввожу строку. Разбиваю сплитом на слова. Суть задачи найти одинаковые...

Строка: проверить две строки методом string.Compare
Не могу разобраться со сравнением строк. Хочу проверить две строки методом string.Compare. Если я правильно понял, в параметрах я указываю...

Написать программу, обеспечивающую корректное изменение слова "рубль" в связке с числительными
Написать программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 999), обозначающего денежную единицу, дописывает слово...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru