Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вариант_№22.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
318.46 Кб
Скачать

strncmp

Функция Сравнивает часть одной строки с частью другой.

Синтаксис #include<string.h>

int strncmp(const char *s1, const char *s2,

size_t maxlen);

Файл, содержащий string.h

прототип

Описание strncmp делает то же самое сравнение, что и функ-

ция strcmp, но просматривает только maxlen симво-

лов. Она начинает с первого символа в каждой

строке и продолжает сравнение до тех пор пока не

обнаружит несовпадающие символы или просмотрит

maxlen символов.

Возвращаемое Она возвращает значения(<0,0,>0) в зависимости от

значение результата сравнения s1 (или части ее) и s2 (или

части ее).

strncmp возвращает следующие значения:

< 0 если s1 меньше s2

==0 если s1 равно s2

> 0 если s1 больше s2

Переносимость strncmp поддерживается на системах UNIX и совме-

стимых с ANSI C.

= 230 =

Смотрите также strcmp, strcoll, stricmp, strncmpi, strnicmp.

Пример:

#include<string.h>

#include<stdio.h>

int main(void)

{

char *buf1 = "aaabbb", *buf2 = "bbbccc", *buf3 = "ccc";

int ptr;

ptr = strncmp(buf2,buf1,3);

if(ptr>0)

printf("buf2 больше чем buf1\n");

else

printf("buf2 меньше чем buf1\n");

ptr = strncmp(buf2,buf2,3);

if(ptr>0)

printf("buf2 больше чем buf3\n");

else

printf("buf2 меньше чем buf3\n");

return 0;

}

strncmpi

int strcspn(char *str1, char *str2);

Функция Сравнивает часть одной строки с частью другой

без различий регистра.

Синтаксис #include <string.h>

int strcmpi(const char *s1, const char *s2,

size_t n);

Файл, содержащий string.h

прототип

Описание strncmpi выполняет беззнаковое сравнение строк s1

и s2, максимальной длиной n байтов, начиная с

первого символа в каждой строке и, продолжая

сравнение последующих символов до тех пор пока не

встретятся несовпадающие символы или не будет

просмотрено n символов. Сравнение не чувствитель-

но к регистрам. Функция strncmpi анологична

strcmpi. strcmpi выполняется через макрокоманду,

определенную в string.h и переводит вызов с

strcmpi в stricmp. Следовательно, если вы хотите

использовать strcmpi, вы должны включить файл

string.h, чтобы сделать доступным макрокомнду.

Эта макрокоманда совместима с другими компилято-

рами С.

= 231 =

Возвращаемое strncmpi возвращает следующие значения:

значение < 0 если s1 меньше s2

==0 если s1 равно s2

> 0 если s1 больше s2

Пример:

#include<string.h>

#include<stdio.h>

Int main(void)

{

char *buf1 = "BBBccc", *buf2 = "bbbccc";

int ptr;

ptr = strncmpi(buf2,buf1,3);

if(ptr>0)

printf("buf2 больше чем buf1\n");

if(ptr<0)

printf("buf2 меньше чем buf1\n");

if(ptr==0)

printf("buf2 равен buf1\n");

return 0;

}

strncpy

Функция Копирует данное количество байтов из одной строки

в другую с усечением или добавлением, если необ-

ходимо.

Синтаксис #include<string.h>

char *strncpy(char *dest, const char *src,

int maxlen);

Файл, содержащий string.h

прототип

Описание strncpy копирует точно maxlen символов из строки

src в строку dest, если потребуется усекая или

добавляя нули в dest. Целевая строка dest может

не иметь нулевого окончания, если длина строки

src - это maxlen или более.

Возвращвемое strncat возвращает dest.

значение

Переносимость strncpy поддерживается на системах UNIX и совме-

стимых с ANSI C.

= 232 =

Пример:

#include<stdio.h>

#include<string.h>

Int main(void)

{

char string[10];

char *strl = "abcdefghi";

stpncpy(string,strl,3);

printf("%s\n",string);

return 0;

}

strnicpm

Функция Сравнивает часть одной строки с другой, без раз-

личий регистров.

Синтаксис #include <string.h>

int strnicmp(const char *s1, const char *s2,

size_t maxlen);

Файл, содержащий string.h

прототип

Описание strnicmp выполняет знаковое сравнение s1 и s2,

максимально maxlen байт, начиная с первого симво-

ла в каждой строке и, продолжая сравнение после-

дующих символов до тех пор пока не встретятся не-

совпадающие символы или не будет достигнут конец

строки. Cравнение не чувствительно к регистрам.

Она возвращает значения(<0,0,>0) в зависимости от

результата сравнения s1 (или части ее) и s2 (или

части ее).

Возвращаемое strnicmp возвращает следующие значения:

значение < 0 если s1 меньше s2

==0 если s1 равно s2

> 0 если s1 больше s2

Переносимость strnicmp уникальна для DOS.

Пример:

#include<string.h>

#include<stdio.h>

Int main(void)

{

= 233 =

char *buf1 = "BBBccc", *buf2 = "bbbccc";

int ptr;

ptr = strnicmp(buf2,buf1,3);

if(ptr>0)

printf("buf2 больше чем buf1\n");

if(ptr<0)

printf("buf2 меньше чем buf1\n");

if(ptr==0)

printf("buf2 равен buf1\n");

return 0;

}

strnset

Функция Изменяет заданное число символов в строке на дан-

ный символ.

Синтаксис #include <string.h>

char *strnset(char *s,int ch, size_t n);

Файл, содержащий string.h

прототип

Описание strnset копирует в первые n байт строки s символ

ch. Если n>strlen(s), то strlen(str) получает

значение n. Она заканчивается, когда n символов

уже установлены, или когда найден нулевой символ.

Возвращвемое strnset возвращает s.

значение

Переносимость strnset уникальна для DOS.

Пример:

#include<string.h>

#include<stdio.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]