Форум программистов, компьютерный форум CyberForum.ru

Как сравнить строки? - C++

Восстановить пароль Регистрация
 
albannikov
 Аватар для albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 75
15.11.2013, 09:16     Как сравнить строки? #1
Бобрый день. Подскажите пжалста, как можно сравнить строки без учета регистра (шобы самому не писать функцию перевода в нижний регистр).

надо сравнить две строковых переменные без учета регистра:
C++
1
2
String Sklad[i].tip;
String poisk;
// Создаю консольное приложение в визуал студии , интересуют именно сишные методы, а не визуала

Заранее всем по "спасибу"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
 Аватар для newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 553
15.11.2013, 09:38     Как сравнить строки? #2
albannikov, stricmp
пс: я незнаю только "чей" это метод...
albannikov
 Аватар для albannikov
12 / 12 / 2
Регистрация: 20.12.2012
Сообщений: 75
15.11.2013, 09:53  [ТС]     Как сравнить строки? #3
Цитата Сообщение от newb_programmer Посмотреть сообщение
stricmp
C++
1
2
3
string tip = Sklad[i].tip;
        int result = stricmp( poisk, tip );
        cout << result;
C2664: stricmp: невозможно преобразовать параметр 1 из "std::string" в "const char *"
Правильно же функцией пользуюсь?
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
15.11.2013, 10:08     Как сравнить строки? #4
C++
#include <iostream>
#include <string>
using namespace std;
 
int main() {
 
string aBc = "aBc";
string AbC = "AbC";
 
if(aBc.size() != AbC.size()) {
  cout << "stroki raznye" <<  endl;
  return 0;
}
 
const char *caBc = aBc.c_str();
const char *cAbC = AbC.c_str();
 
int t = 0;
 
for(int i = 0; i < aBc.size(); i++)
{
  if(tolower(caBc[i]) == tolower(cAbC[i])) t++;
}
 
if(t == aBc.size()) 
  cout << "stroki odinakovy" << endl;
 
}
Добавлено через 7 минут
C++
#include <iostream>
#include <string>
using namespace std;
 
int main() {
 
string aBc = "aBc";
string AbC = "AbC";
 
if(aBc.size() != AbC.size()) {
  cout << "stroki raznye" <<  endl;
  return 0;
}
 
const char *caBc = aBc.c_str();
const char *cAbC = AbC.c_str();
 
int t = 0;
 
for(int i = 0; i < aBc.size(); i++)
{
  if(tolower(caBc[i]) == tolower(cAbC[i])) t++;
}
 
if(t == aBc.size()) 
  cout << "stroki odinakovy" << endl;
else
  cout << "stroki raznye" << endl;
 
}
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 5
Завершенные тесты: 1
15.11.2013, 10:18     Как сравнить строки? #5
Пользовоться функцией tolower или toupper и посимвольно проводить сравнение.
За подробностями зыкать сюда.
Yandex
Объявления
15.11.2013, 10:18     Как сравнить строки?
Ответ Создать тему
Опции темы

Текущее время: 01:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru