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

String и его приколы. Что и как сравнивается - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как сделать поиск в String по маске? http://www.cyberforum.ru/cpp-beginners/thread1157795.html
String str="<One>Hello<Strong>World<Two>"; как сделать поиск по маске в String, "<*>" чтобы программа искала только "<" и ">" а то что внутри считалось бы за * Добавлено через 2 часа 52 минуты...
C++ Int to String Подскажите стандартную функцию для конвертирования Int to String или других чисел в string http://www.cyberforum.ru/cpp-beginners/thread1157792.html
Умножение матрицы a[i][j] на b[x][y]! C++
Есть две матрицы A и B размер которых задаёт и вводит пользователь с клавиатуры, матрицы хоронятся в динамических массивах соответственно a b. Проблема заключается в том, как организовать алгоритм...
C++ Запись и вывод с бинарного файла
Возникла проблема с записью в бинарный файл. я в программирование на С++ вообще слаб и не понимаю как сделать запись в бинарный файл для своей проги. вот модуль проги. помогите плиз. #include...
C++ Изменить вектор направления с координатами x и y на заданный угол http://www.cyberforum.ru/cpp-beginners/thread1157775.html
Здраствуйте! Известен вектор направления с координатами x и y, нужно именить его на +45 или -45 градусов. Прошу подсказать как проще всего это сделать? Спасибо.
C++ Соглашение Fast call Аргументы значений с плавающей запятой и двойной точностью передаются в XMM0 – XMM3 (до 4) с помощью гнезда целых чисел (RCX, RDX, R8 и R9), которое обычно и используется, в то время как гнездо... подробнее

Показать сообщение отдельно
Altair42
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 342

String и его приколы. Что и как сравнивается - C++

26.04.2014, 11:00. Просмотров 348. Ответов 4
Метки (Все метки)

Цитата из книги: " Если две строки имеют разные длины и каждый символ которткий строки равен соответствующему символу длинной строки то короткая строка меньше длинной."

Что за прикол? А не проше считат символы на строке и опеределит какая из них длинее.
Вот простая программа.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
#include <string>
int main()
{ setlocale (LC_ALL , "Russian");
    std::string s1, s2;
    std::cout << "Введите текст" << std::endl;
    std::getline(std::cin, s1);
    std::cout << "Введите второй текст" << std::endl;
    std::getline(std::cin, s2);
    if(s1 == s2)
        std::cout << s1 << " ровно " << s2 << std::endl;
    if(s1 < s2)
        std::cout << s1 << " меньше " << s2 << std::endl;
    if(s1 > s2)
        std::cout << s1 << " Бльше " << s2 << std::endl;
    
        _getch();
    return 0;
}
Первый текст: "Hello World!"
Второй текст: "Fly around the World!"
Почему это первая строка больше? Каким способом программа опеределяет какая строка больше а какая меньше. Я не как не могу понят.
Этому ест только одно обьяснение. Все символы которые ровны смволам первой строки сбрасываються. Но почему. Вид в этом нет не какой логики. Или я слишком туп чтоб понят логику?

Добавлено через 9 минут
В той же программе ввел числа 1234 и 12345, 1234 и 1235. Второе больше первого. Почему это с числами не произходит того же что и с символами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru