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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 157, средняя оценка - 4.64
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
#1

Побуквенное сравнение строк string - C++

14.05.2010, 23:46. Просмотров 22717. Ответов 3
Метки нет (Все метки)

Нужна ваша помощь. Требуется посимвольное сравнение двух строк типа string. Есть ли в стандартной библиотеке такая функция?
Или нужно писать что-то свое вроде следующего:
C++
1
2
3
4
5
6
7
 string s1, s2 ("red"); bool pr=0;
 cout <<"String: ";
 getline (cin, s1);
 for (int i=0; i<s2.length(); i++)
 {
  if (s1[i]!=s2[i] || s1.length()!=s2.length()) {pr=0; break;}
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2010, 23:46     Побуквенное сравнение строк string
Посмотрите здесь:

сравнение строк (string) - C++
код #include &lt;iostream&gt; int main (){ std::string my_str; while (my_str != &quot;y&quot; || my_str != &quot;Y&quot;){ std::cout&lt;&lt;&quot;Enter you...

Сравнение двух строк string - C++
Добрый день. Никак не пойму почему не хочет работать такой способ сравнения двух string строк, сравнивает верно только если ввести...

Сравнение строк с типом string - C++
Приветствую уважаемые посетители сей темы! Хотелось бы узнать как можно сравнить переменную типа string? (Возможно есть какой то прототип...

Сравнение строк string без учета регистра - C++
Есть уже реализованная стандартная функция для решения такой задачи? Делал это через перевод обоих строк в нижний регистр и оператор...

Сравнение двух строк (экземпляры класса string ) задействуя метод compare - C++
Здравствуйте, мне необходимо сравнить два экземпляра класса string, один из экземпляров вводится с клавиатуры, второй экземпляр берется из...

Сравнение string::iterator со string::reverse_iterator - C++
Уважаемые форумчане, подскажите пожалуйста, как можно сравнить string::iterator и string::reverse_iterator, в частности что бы определить,...

Сравнение объектов string - C++
Вопрос такой. Мне нужно организовать поиск по ключу типа string. Но сравниваются они посимвольно. if (somestring==parametr) {....} ...

сравнение двух string - C++
Вот написала функцию для сравнения двух string (а именно численно) но нужно чтоб возвращала функцию значения true или false. а возвращает...

Сравнение двух string - C++
Почему код не работает? #include&lt;iostream&gt; using namespace std; struct test { string name; int tree; }yaguar; int main() ...

Сравнение char* и const string - C++
Решаю небольшую и стандартную задачу с бинарными деревьями и столкнулся с проблемой на этапе ввода данных. Нужно считать из файла строки,...

Сравнение списков vector <string> - C++
# include &lt;iostream&gt; # include &lt;string&gt; # include &lt;fstream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;algorithm&gt; ...

Сравнение чисел записанных в строку string - C++
Доброго времени суток! Существуют строки типа string с названиями hours и minutes, которые содержат в себе некоторое целое положительное...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
14.05.2010, 23:55     Побуквенное сравнение строк string #2
Хм...
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
int main(){
 
    std::string s1("str_f"), s2("str_f");
 
    if(s1 == s2)
        std::cout << "Ok..\n";
 
    return 0;
}
http://codepad.org/VER8pgj6
MikeSoft
Эксперт С++
3791 / 1773 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
15.05.2010, 00:00     Побуквенное сравнение строк string #3
Red Planet, вам нужна функция strcmp
Посимвольно сравнивает две строки.
strcmp возвращает:
<0, если string1 меньше string2
=0, если string1 равно string2
>0, если string1 больше string2
C++
1
2
3
4
5
6
7
8
9
10
11
12
//---------------------------------------------------------------------------
#include <tchar.h>
#include <string>
//---------------------------------------------------------------------------
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    string a ("red"),b ("red");
    strcmp(a.c_str(),b.c_str());
    return 0;
}
//---------------------------------------------------------------------------
Red Planet
49 / 10 / 2
Регистрация: 20.09.2009
Сообщений: 263
15.05.2010, 00:12  [ТС]     Побуквенное сравнение строк string #4
ISergey, так пробовал, сейчас работает, но, кажется, на предыдущей моей программе работало через раз, поэтому и создал тему.

MiCr0s0fT, спасибо, вводил разные строки - работает. Никогда раньше не приходилось применять эту функцию, смутили сначала слова "больше", "меньше". Думал, что сравнивает по длине.

Спасибо!
Yandex
Объявления
15.05.2010, 00:12     Побуквенное сравнение строк string
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru