powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Строки, указатели, сравнение
8 сообщений из 8, страница 1 из 1
Строки, указатели, сравнение
    #38157942
Анатолий22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста простую вещь.
В функцию попадает указатель на строку. Как его содержимое сравнить с конкретной строкой?
Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int func1(char* nname)
{
  if(nname == "Вася")
    return 1;
  else
    return 0;
}


И тоже самое со switch.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
int func1(char* nname)
{
  switch(nname)
  {
   case "Вася":
     return 1;
   case "Петя":
     return 0;
  }
}
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38157949
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158013
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий22,

Switch для сравнения строк не годится ни в каком виде.

(т.е. можно конечно, но сложно)
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158084
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий22Подскажите, пожалуйста простую вещь.
В функцию попадает указатель на строку. Как его содержимое сравнить с конкретной строкой?
Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int func1(char* nname)
{
  if(nname == "Вася")
    return 1;
  else
    return 0;
}


И тоже самое со switch.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
int func1(char* nname)
{
  switch(nname)
  {
   case "Вася":
     return 1;
   case "Петя":
     return 0;
  }
}



и if и switch отстойные

Код: plaintext
1.
2.
3.
 if(strcmp("Вася", nname))
   return 0;
 return 1;



Код: plaintext
1.
return strcmp("Вася", nname) ? 1 : 0;
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158096
Фотография Новый Год
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очепятка
return strcmp("Вася", nname) ? 0 : 1;
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158296
Фотография Yatha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий22,
switch вроде как для целых типов только используется
это в SQL со строками можно
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158361
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ещё воспользоваться std::string::operator==
...
Рейтинг: 0 / 0
Строки, указатели, сравнение
    #38158694
Анатолий22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за советы. Разобрался, все работает.
Я нашел свой глупый косяк. Строка для сравнения "просто" не передавалась в функцию.
Вот, блин, ничего и не сравнивалось!
Кучу времени убил...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Строки, указатели, сравнение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]