Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторн_робот_Ч2.doc
Скачиваний:
19
Добавлен:
03.11.2018
Размер:
2.12 Mб
Скачать

3.Стандартні функції для роботи зі стрічками (бібліотека string.H)

В мові С існують стандартні функції для обробки стрічок, які спрощують розробку програм. Ці Функції знаходяться в бібліотеці string.h. Розглянемо основні з них.

Таблиця 13.1 - Основні стандартні функції обробки стрічок

Назва функції

Призначення

Синтаксис

Опис

stpcpy

Копіювати стрічку у стрічку

char *stpcpy(char *dest,const char *src);

Копіює вихідну стрічку src і завершуючий її нуль у стрічку результату dest. Повертає dest + strlen(src).

strcat, _fstrcat

Конкатенувати стрічки

char *strcat(char *dest, const char *src);

char far *far _fstrcat(char far *dest, const char far *sfc);

Конкатенує (об’єднує) вихідну стрічку src і ініціалі зовану результуючу стрічку dest, приєднуючи останню до кінця першої. Повертає dest

Таблиця 13.1- Основні функції обробки стрічок (продовження)

strchr, _fstrchr

Шукати в стрічці символ

char *strchr(const char *s, int c);

char far * far _fstrchr(const char far *s, int c);

Шукає в стрічці s перше входження символу c, починаючи з початку стрічки. У випадку успіху повертає вказівник на знайдений символ, інакше повертає нуль

strcmp, _fstrcmp

Порівняти стрічки

int strcmp(const char *s1, const char *s2);

int far _fstrcmp(const char far *s1, const char far *s2);

Порівнює дві стрічки. Повертає негативне значення, якщо s1 < s2; нуль, якщо s1 == s2; позитивне значення, якщо s1 > s2

strcmpi

Порівняти стрічки не розрізняючи стрічкові і прописні літери

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

Ця функція аналогічна функції strcmp(), але ігнорує різницю між стрічковими і прописними літерами. Для сумісності з іншими компіляторами мови С функція strcmpi() реалізована у вигляді макросу, що безпосередньо викликає функцію strcmpi().

Таблиця 13.1- Основні функції обробки стрічок (продовження)

strcpy

Копіювати стрічку у стрічку

char *strcpy(char *dest,const char *src);

char far * far_fstrcpy(char far*dest, const char far *src);

Копіює вихідну стрічку src і завершуючий її нульовий символ у стрічку результату dst, перезаписуючи символи результуючої стрічки, розташовані в місці копіювання. Повертає dest.

_strdate

Перетворити дату у стрічку

char*_strdate(cha *datestr);

Запам'ятовує поточну дату у вигляді стрічки у форматі mm/dd/yy (mm – місяць, dd – день, yy – рік. Повертає datestr.

_strerror

Створити стрічку повідомлення про помилку

char *_strerror(const char *s);

Створює зі стрічки s стрічку повідомлення про помилку, додаючи двокрапку, пробіл і опис поточної системної помилки

strftime

Запам'ятати дату і час у стрічці

size_t strftime(char *s, size_t maxsize, const char *fmt const struct tm *t);,

Форматує дату і час у вигляді текстової стрічки використовуючи систему правил перетворення, аналогічну системі printf().

Таблиця 13.1- Основні функції обробки стрічок (продовження)

strncpy, _fstrncpy

Копіювати частини стрічок

char *strncpy(char *dest, const char *src, size _t maxlen);

char far *far _fstrncpy(char far *dest, const char far *src, size _t maxlen);

Копіює максимум maxlen символів із вихідної стрічки src у результуючу стрічку dest, перезаписуючи символи результуючої стрічки.

strstr, _fstrstr

Шукати в стрічці підстрічку

char *strstr (const char *s1, const char *s2);

char far *far _ fstrstr (const char far *s1, const char far *s2);

Шукає стрічку (s2) в іншій стрічці (s1). Повертає адресу першого символу входження стрічки або, якщо підстрічка s2 не знайдена в стрічку s1, - повертає нуль.

strtod

Перетворити стрічку у число типу double

double strtod (const char *s, char **endptr);

long double _strtold(const char *s, char ** endptr);

Перетворює символьне представлення числа з плаваючою крапкою у його двійкове представлення типу double чи long double. У випадку успіху повертає отриманий при перетворенні результат, а у випадку помилки повертає HUGE_VAL (strtod ())

Таблиця 13.1- Основні функції обробки стрічок (продовження)

strtol

Перетворити стрічку у довге ціле

long strtol (const char *s, char **endptr, int radix);

Перетворить символьне представлення значення типу long у його двійкове представлення. Значення в стрічці може бути представлене в десятеричному, восьмеричному чи шістнадцятирічному вигляді, що використовує стандартні правила форматування мови С ( що діють для printf( ), scanf() і інших аналогічних функцій).