русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Короткі теоретичні відомості


Дата додавання: 2014-11-28; переглядів: 837.


Визначення довжини рядка. Довжина рядка (кількість символів в ньому) визначається функцією strlen().Прототип функції знаходиться в файліstring.h.

size_t strlen(char *str);

Тип size_t визначений в файлі stdring.hяк unsigned. (ціле без знаку). Ця функція повертає ціле число без знаку. Цей тип використовується в багатьох функціях, які призначені для роботи з рядками. Аргумент, який передається в функцію це вказівник на рядок, довжину якого треба визначити. Функція повертає кількість символів. Від початку рядка до першого нульового символу.

Копіювання рядків.Один рядок не можна присвоїти іншому. Треба виконати копіювання даного рядка , який займає певну ділянку пам¢яті в іншу ділянку, де знаходиться рядок-копія.

Є дві функції strcpy() i strncpy(). Вони описані в файлі string.h, який необхідно підключити для їх використання.

Функція strcpy(). Копіює заданий рядок в ділоянку пам’яті. ЇЇ прототип

char *strcpy(char *destination, const char *sourse);

Функція strcpy() копіює рядок, який знаходиться по адресу sourse(разом з завершаючим символом /0) в ділянку пам¢яті, яка починається по адресу в вказівнику destination. Функція повертає вказівник на новий рядокdestination.

До виклику функції необхідно виділити пам¢ять для нового рядка. Сама функція не перевіряє, чи досить пам¢яті по вказаній їй адресі. Якщо розподілу пам¢яті не виконалося, то функція затре strlen(sourse)байт нової інформації, починаючи з адресу , вказаному в destination.

Функція strncpy().аналогічна функції strcpy(), тільки з її допломогою копіюється задана кількість символів.

Порівняння двох рядків.Функціяstrcmp()призначена для посимвольного порівняння двох рядків. Вона має прототип:

Int strcmp(const chart *str1, const chart *str2);

Аргументи вказують на порівнювані рядки str1і str2.Функція повертає від'ємне значення , якщо str1менше str2,— нуль, якщоstr1= str2і— додатнє значення, якщо str1більше. str2.

Порівняння фрагментів двох рядків.Функціяstrncmp()призначена для посимвольного порівняння фрагментів двох рядків довжиною n. Прототип:

Int strncmp(const chart *str1, const chart *str2, size_tn);

Функція порівнюєn символів рядків str1і str2.Порівняння виконується до тих пір, поки не вичерпаються n символів, або не буде здосягнутий кінець рядка str1.Результат порівняння такий, як в попередній функції.

Функції для конкатенація (з’єднання) рядків і їх фрагментів.Конкатенація – це приєднання одного рядка до кінця іншого. Для конкатенації є функція strcat(). Прототип знаходиться в файлі string.h.

char *strcat(char *a1, сonst char *a2);

Функція поміщає копію рядка а2 в кінець рядка а1 і ставить завершуючий нульовий символ в кінець нового рядка. Попередньо необхідно виділити для рядка а1 достатньо місця. Функція повертає вказівник на рядок а1.

Функція strncat() виконує конкатенацію рядків з вказівкою кількості символів. Прототип функції: char *strncat(char *a1, Const char *a2, int n);

Якщо а2 має більше, ніж n символів, то до а1 приєднується n символів рядка а2. Якщо а2 має менше, ніж n символів, то до а1 приєднується рядок а2.

 


<== попередня лекція | наступна лекція ==>
Методичні вказівки | Варіанти індивідуальних завдань


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн