Strcmp c что это

Strcmp c что это

Функция strcmp сравнивает указанную строку с другой строкой, на которую указывает параметр s2. Функция учитывает регистр символов.

Синтаксис

Параметры

Указатель на первую сравниваемую строку.

Указатель на вторую сравниваемую строку.

Возвращаемое значение

Функция возвращает целочисленное значение:

— больше нуля, если первая строка больше второй;

— 0 (нуль), если строки равны;

— меньше нуля, если первая строка меньше втрой.

Смотри также

Библиотека стандартных функций С.

Функция объявлена в заголовочном файле string.h

Функции сравнивают строки.

Синтаксис

Параметры

Строки с завершающим нулем, для сравнения.

Возвращаемое значение

Возвращаемое значение для каждой из этих функций указывает лексикографическое соотношение строки string1 к строке string2.

Значение

Соотношение string1 к string2

string1 меньше чем string20string1 идентична string2 > 0string1 больше чем string2

Замечания

Унифицированно-текстовые стандартные отображения

процедура TCHAR.H

_UNICODE & _MBCS не определяется

определяется как _MBCS

определяется как _UNICODE

В «C» язык страны (местности) определяет порядок символов в символьном наборе (символьный набор ASCII) такой же, что и лексикографический символьный порядок(очередность). Однако, в языках других стран, порядок символов в символьном наборе может отличаться от лексикографического порядка( очередности). Например, в некоторых европейских языках, символ ‘a’ (значение 0x61) предшествует символу ‘ä’ (значение 0xE4) в символьном наборе, но символ ‘ä’ предшествует символу ‘a’ лексикографически.

В языках страны (местности) для которых символьный набор и лексикографический символьный порядок (их очередность) различаются, используют функцию strcoll, а не strcmp для лексикографического сравнения строк согласно параметру категории LC_COLLATE текущего языка страны. Таким образом, чтобы выполнить лексикографическое сравнение языка страны в вышеупомянутом примере, используйте strcoll, а не strcmp. Альтернативно, Вы можете использовать функцию strxfrm исходных) строк, а затем использовать strcmp на получающихся строках.

Функции _stricmp, _wcsicmp, и _mbsicmp сравнивают строки первым преобразованием их к их формам нижнего регистра. Две строки, содержащие в себе символы, расположенные между ‘Z’ и ‘a’ в таблице ASCII (‘[‘, ‘\’, ‘]’, ‘^’, ‘_’, и ‘`’), сравниваются по-разному, в зависимости от их регистра. Например, две строки, «ABCDE» и «ABCD ^» сравниваются одним способом, если сравнение идет в нижнем регистре («abcde»> «abcd ^») и другим способом («ABCDE»ANSI, Win 98, Win Me, Win NT, Win 2000, Win XPwcscmpилиANSI, Win 98, Win Me, Win NT, Win 2000, Win XP_mbscmpWin 98, Win Me, Win NT, Win 2000, Win XP

Дополнительную информацию о совместимости, см. в статье Совместимость во Введении.

Библиотеки

Все версии Библиотек исполняющей системы языка C.

Источник

Описание функций языка Си

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

strcmp – сравнение строк.

#include
int strcmp (const char *str1, const char *str2);

str1, str2 – указатели на сравниваемые строки.

0 – если сравниваемее строки идентичны.

Положительное число – если строки отличаются и код первого отличающегося символа в строке str1 больше кода символа на той же позиции в строке str2.

Отрицательное число – если строки отличаются и код первого отличающегося символа в строке str1 меньше кода символа на той же позиции в строке str2.

Функция побайтно сравнивает коды символов двух строк, на которые указывают аргументы функции. Сравнение продолжается до встречи первого отличающегося символа или пока не будут проверены все символы строк.

Если все символы строк совпали, то возвращается 0.

Если при сравнении встретились отличающиеся символы, то сравнение прекращается и возвращается отрицательное или положительное число, в зависимости от того больше или меньше код символа строки str1, кода символа строки str2 на той же позиции (см. возвращаемые значения).

Если строки разной длины, то возвращается положительное число, если строка str1 длиннее строки str2, или отрицательное число, если строка str2 длиннее строки str1.

В примере сравниваются две строки и результат сравнения выводится на экран.

Источник

strcmp () в C / C ++

Синтаксис ::

В приведенном выше прототипе функция srtcmp принимает в качестве параметров две строки и возвращает целочисленное значение на основе сравнения строк.

Что возвращает strcmp ()?

Эта функция может возвращать три различных целочисленных значения на основе сравнения:

// C программа для иллюстрации
// функция strcmp ()
#include
#include

char leftStr[] = «g f g» ;

char rightStr[] = «g f g» ;

int res = strcmp (leftStr, rightStr);

printf ( «Strings are equal» );

printf ( «Strings are unequal» );

// C программа для иллюстрации
// функция strcmp ()
#include
#include

// z имеет большее значение ASCII, чем g

char rightStr[] = «gfg» ;

int res = strcmp (leftStr, rightStr);

printf ( «Strings are equal» );

printf ( «Strings are unequal» );

// C программа для иллюстрации
// функция strcmp ()
#include
#include

// b имеет меньшее значение ASCII, чем g

char rightStr[] = «gfg» ;

int res = strcmp (leftStr, rightStr);

printf ( «Strings are equal» );

printf ( «Strings are unequal» );

Важный момент: если строки не одинаковы, вы обнаружите, что значение, возвращаемое функцией strcmp (), является разницей между значениями ASCII первого несопоставленного символа в leftStr и rightStr в обоих случаях.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Источник

Функции _mbscmp и _mbscmp_l не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

Параметры

locale
Используемый языковой стандарт.

Возвращаемое значение

ЗначениеОтношение типа string1 к string2
string1 меньше string2
0 string1 идентична string2
> 0 string1 больше string2

Комментарии

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это, см. раздел глобальное состояние в CRT.

Универсальное текстовое сопоставление функций

TCHAR.H ассемблер_UNICODE & _MBCS не определено_MBCS определяется_UNICODE определяется
_tcscmp strcmp _mbscmp wcscmp

В языковом стандарте «C» порядок символов в наборе символов (набор символов ASCII) совпадает с лексикографическим порядком символов. Однако в других языковых стандартах порядок символов в наборе символов может отличаться от лексикографического порядка. Например, в некоторых европейских языковых стандартах символ » a » (значение 0x61) предшествует символу » ä » (значение 0xE4) в кодировке, но символ «» находится перед ä символом » a » лексикографически.

При использовании языковых стандартов, в которых порядок символов в кодировке и лексикографический порядок различаются, используйте strcoll вместо strcmp для лексикографического сравнения строк. Также можно использовать функцию strxfrm для исходных строк, а затем использовать функцию strcmp для результирующих строк.

Требования

ПодпрограммаОбязательный заголовок
strcmp
wcscmpили
_mbscmp

Дополнительные сведения о совместимости см. в статье Compatibility.

Источник

Функции для работы со строками в C++

Strcmp c что это. Смотреть фото Strcmp c что это. Смотреть картинку Strcmp c что это. Картинка про Strcmp c что это. Фото Strcmp c что этоПосле того, как мы с вами познакомились со строками и символьными массивами в C++, рассмотрим самые распространённые функции для работы с ними. Урок будет полностью построен на практике. Мы будем писать собственные программы-аналоги для обработки строк и параллельно использовать стандартные функции библиотеки cstring ( string.h – в старых версиях). Так вы примерно будете себе представлять, как они устроены. К стандартным функциям библиотеки cstring относятся:

Это конечно не все функции, а только те, которые мы разберём в этой статье.

strlen() (от слова length – длина)

Наша программа, которая подсчитает количество символов в строке:

Так будет выглядеть код, с заменой нашего участка кода на функцию strlen() :

Результат будет и в первой программе и во второй аналогичен:

Strcmp c что это. Смотреть фото Strcmp c что это. Смотреть картинку Strcmp c что это. Картинка про Strcmp c что это. Фото Strcmp c что это

strcat() (от слова concatenation – соединение)

Программа, которая в конец одной строки, дописывает вторую строку. Другими словами – объединяет две строки.

Реализация объединения двух строк, используя стандартную функцию, заняла одну строчку кода в программе – 14-я строка.

Strcmp c что это. Смотреть фото Strcmp c что это. Смотреть картинку Strcmp c что это. Картинка про Strcmp c что это. Фото Strcmp c что это

На что следует обратить внимание и первом и во втором коде – размер первого символьного массива должен быть достаточным для помещения символов второго массива. Если размер окажется недостаточным – может произойти аварийное завершение программы, так как запись строки выйдет за пределы памяти, которую занимает первый массив. Например:

strcpy() (от слова copy – копирование)

Реализуем копирование одной строки и её вставку на место другой строки.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *