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

Баг strcmp

27.11.2010, 18:57. Показов 3344. Ответов 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
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 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
21287 / 8312 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru