![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 28.02.2011
Сообщений: 122
|
![]()
Какой алгоритм сравнения введенной строки со строкой-константой в программе?
Повторенье - мать ученья. И прибежище для лентяев.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]()
строк каких?
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 28.02.2011
Сообщений: 122
|
![]()
Ну как-то вот таких:
char string="Какая-то строка" Я знаю, что есть такие функции strcmp и stricmp, но не могу разобраться, как их использовать. Если сравнивать две const char *string, то все работает, а вот сравнить одну const char *string с введенной строкой не получается - копмилятор говорит, что я дурак.
Повторенье - мать ученья. И прибежище для лентяев.
Последний раз редактировалось Artem_Kokos; 14.11.2011 в 10:56. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]()
приводите код, где он так говорит, посмотрим
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 28.02.2011
Сообщений: 122
|
![]()
int main(){
int T; char string; const char *true_string="true string"; printf("Enter the string: "); scanf("%s", &string); T = stricmp(string, true_string); if (T==0) printf("\nIts true\n"); else printf("\nwrong\n"); getch(); } Как только я просто попытался разобраться, как работают функции сравнения, наткнулся на то, что вот такая программа компилируется, но когда я ввожу любую строку, происходит ошибка. Читал сайты, где приводятся типичные ошибки, которые делают в работе со строками, но так и не нашел объяснения...
Повторенье - мать ученья. И прибежище для лентяев.
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
ты пытаешься сравнить строку с символом. который притом вводится как строка.
вот так правильно: const char* zzz = "..."; char str[100]; fgets(str, sizeof(str)/sizeof(str[0])-1, stdin); strcmp(zzz, str);
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 28.02.2011
Сообщений: 122
|
![]()
Спасибо) Я и впрямь дурак... Еще такой вопрос появился: методом испробывания алгоритма, я обнаружил, что в строке, где задается константа в моем случае необходимо в конце дописывать "\n". Иначе T = -1. Это всегда так, или зависит от компилятора?
Повторенье - мать ученья. И прибежище для лентяев.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сравнение строк в Си | alekt0 | Общие вопросы C/C++ | 0 | 23.09.2011 23:42 |
Сравнение строк | Dasharnb777 | Общие вопросы .NET | 5 | 22.09.2010 20:46 |
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце | Shpr0T | Microsoft Office Excel | 8 | 30.08.2010 17:52 |
сравнение строк -? | Evgenii | Общие вопросы Delphi | 10 | 15.07.2009 15:28 |
Сравнение строк | HOMER | Общие вопросы Delphi | 7 | 04.01.2008 05:53 |