Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255

Баг strcmp

27.11.2010, 18:57. Показов 3078. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Линк на архив с видео, где записана ошибка.
http://upload.com.ua/get/902136351/Bug.zip
Пароль: bug
Объясните ситуацию.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2010, 18:57
Ответы с готовыми решениями:

std::regex : баг на сайте или баг компилятора?
http://en.cppreference.com/w/cpp/regex/regex_match этот код выкидывает throw... Добавлено через 35 секунд компилятор gcc 4.8

Баг asio? или баг TCP стека?
всем привет. повстречался с очень странным багом. и не могу определить кто бажит, asio, или TCP-стек. на стороне клиента,...

strcmp
Вот изучаю С++, тут столкнулся с простой проблеммой, функция strcmp,которая проверяет на равенство 2 строки между собою. Попробывал...

33
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 04:50
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от silent_1991 Посмотреть сообщение
Я на то и сетовал
Так вроде бы так и должно быть, https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{1} = 1, я не прав?
0
28.11.2010, 11:33

Не по теме:

Nameless One, да шучу я, сказал же))) Он считает так же неправильно, как и strcmp у ТСа. Надо же было поглумиться))
P.S. А вообще это откуда - наш препод по терверу как-то рассказывал, как он спросил у потока (вроде экономистов), чему равен арифметический квадратный корень из 1... Так вот его цитата: "Они долго считали, да, очень долго... И потом один выдал: "Нууу... Примерно 0,97 получается""

1
28.11.2010, 11:51

Не по теме:

:D у нас про экономистов в универе тоже анекдоты ходят...

0
28.11.2010, 11:56

Не по теме:

Nameless One, Угу, а потом мы удивляемся почему так хорошо и богато живём... А потому что экономисты всё преуменьшить норовят, вон даже корень из 1 на три сотых недобрали...

0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
28.11.2010, 13:09  [ТС]
Ребята, посмотрите видео, на 50-й секунде на паузе чётко видно, что s содержит "X", str содержит "O".
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 13:10
alexsvk, ага, зато s не содержит '\0'
0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
28.11.2010, 13:28  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
alexsvk, ага, зато s не содержит '\0'
И опять же, на видео видно, что s[0] = буква, s[1]='\0';
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 13:31
Не знаю, видео твое не смотрел, но сам ты написал:
Цитата Сообщение от alexsvk Посмотреть сообщение
Debug:
s[0] = 'X';
s [1] = 'O';
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
28.11.2010, 13:36
alexsvk, ты можешь чётко пояснить, что ты хочешь в конечном итоге? Если нужно определить НЕравенство строк, то вместо

C
1
if (strcmp(str,s) == true)
надо писать

C
1
if (strcmp(str,s))
0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
28.11.2010, 13:45  [ТС]
Evg, а true не годится?

Добавлено через 35 секунд
Цитата Сообщение от Nameless One Посмотреть сообщение
Не знаю, видео твое не смотрел, но сам ты написал:
писал же, что описка была. s[1]='\0';
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
28.11.2010, 13:54
Цитата Сообщение от alexsvk Посмотреть сообщение
Evg, а true не годится?
С чего и следовало начать:
strcmp возвращает отрицательное число, когда первая строка меньше второй, 0, когда они равны, положительной число, когда первая строка больше второй. Она возвращает не bool, а int. Матчасть надо учить.
Блин, а я ведь спрашивал уже:
Цитата Сообщение от Nameless One Посмотреть сообщение
alexsvk, а теперь скажи, какие значения аргументов у функции strcmp в момент "бага" и какой результат ты от нее ожидаешь (str равна s, str больше s, str меньше s)?
Разве так трудно было сразу четко и ясно ответить?

Цитата Сообщение от alexsvk Посмотреть сообщение
Evg, а true не годится?
Чтобы совсем не было сомнений, скажи, что выдаст эта программа:
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
        std::cout << std::boolalpha << (((int) -1) == true) << std::endl;
        return 0;
}
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
28.11.2010, 13:55
Цитата Сообщение от alexsvk Посмотреть сообщение
Evg, а true не годится?
Я мог бы ответить на этот вопрос коротко: "нет". Но если тебе действительно интересно понять, почему так (хотя в теме уже несколько раз об этом сказали), то тебе придётся ответить на встречный вопрос: "а с чего ты решил, что годится?"
0
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
28.11.2010, 22:02  [ТС]
Цитата Сообщение от Nameless One Посмотреть сообщение
С чего и следовало начать:
strcmp возвращает отрицательное число, когда первая строка меньше второй, 0, когда они равны, положительной число, когда первая строка больше второй. Она возвращает не bool, а int. Матчасть надо учить.
Блин, а я ведь спрашивал уже:Разве так трудно было сразу четко и ясно ответить?


Чтобы совсем не было сомнений, скажи, что выдаст эта программа:
C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
        std::cout << std::boolalpha << (((int) -1) == true) << std::endl;
        return 0;
}
false
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
28.11.2010, 22:07
Цитата Сообщение от alexsvk
false
И следовательно?..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.11.2010, 22:07
Помогаю со студенческими работами здесь

strcmp()
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; int main() { ...

strcmp
Не могу понять, как правильно прировнять два слова. КОгда компилирую и ввожу слово, програма самостаятельно закрываеться, точне...

STRCMP
Как работает функция strcmp? strncmp? while(L&lt;R) { m=(L+R)/2; ...

strcmp
slovo={'d','d','d'}; char *slovo2=new char; for(int i=0;i&lt;k;i++) { cin&gt;&gt;slovo2; } int s=strcmp(slovo2,slovo); и ввожу...

Strcmp
Пользуюсь Visual Studio 2013. Читай книжку, выполняю примеры. Там есть пример с использованием strcmp и сказано подключить &lt;cstring&gt;....


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

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru