Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмування.docx
Скачиваний:
42
Добавлен:
05.03.2016
Размер:
1.55 Mб
Скачать

31.Основні операції зі стрічками на мові Сі.

char *strchr(const char *, int);

шукає символ у рядку, починаючи з голови і повертає його адресу, або NULL якщо не знайдений

char *strrchr(const char *, int);

шукає символ у рядку, починаючи з хвоста і повертає його адресу, або NULL якщо не знайдений

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

лексикографічне порівняння рядків

int strncmp(const char *, const char *, size_t);

лексикографічне порівняння перших n байтів рядків

int strcoll(const char *, const char *);

лексикографічне порівняння рядків з урахуванням локалі collating order

char *strcpy(char *toHere, const char *fromHere);

копіює рядок з одного місця в інше

char *strncpy(char *toHere, const char *fromHere, size_t n);

копіює до n байт рядку з одного місця в інше

char *strerror(int);

повертає строкове подання повідомлення про помилку errno ((не потоко-безпечна)

size_t strlen(const char *);

повертає довжину рядка

size_t strspn(const char *s, const char *accept);

визначає максимальну довжину початкового підрядка, що складається виключно з байтів, перерахованих в accept

size_t strcspn(const char *s, const char *reject);

визначає максимальну довжину початкового підрядка, що складається виключно з байтів, не перелічених у reject

char *strpbrk(const char *s, const char *accept);

знаходить перше входження будь-якого символу, перерахованого в accept

32.Функції опрацювання стрічок на мові Сі.

strcmp(const char *, const char *); лексикографічне порівняння рядків

int strncmp(const char *, const char *, size_t); лексикографічне порівняння перших n байтів рядків

int strcoll(const char *, const char *); лексикографічне порівняння рядків з урахуванням локалі collating order

char *strcpy(char *toHere, const char *fromHere); копіює рядок з одного місця в інше

char *strncpy(char *toHere, const char *fromHere, size_t n); копіює до n байт рядку з одного місця в інше

char *strerror(int); повертає строкове подання повідомлення про помилку errno ((не потоко-безпечна)

size_t strlen(const char *); повертає довжину рядка

size_t strspn(const char *s, const char *accept); визначає максимальну довжину початкового підрядка, що складається виключно з байтів, перерахованих в accept

size_t strcspn(const char *s, const char *reject); визначає максимальну довжину початкового підрядка, що складається виключно з байтів, не перелічених у reject.

34.Тип file.Робота з файлами.Відкриття та закритя файлів.

Більшість комп'ютерних програм працюють з файлами, і тому виникає необхідність створювати, видаляти, записувати читати, відкривати файли. Що ж таке файл? Файл - іменований набір байтів, який може бути збережений на деякій накопичувачі. Ну, тепер ясно, що під файлом розуміється деяка послідовність байтів, яка має своє, унікальне ім'я, наприклад файл.txt. В одній директорії не можуть знаходитися файли з однаковими іменами. Під ім'ям файлу розуміється не тільки його назву, а й розширення, наприклад: file.txt і file.dat - різні файли, хоч і мають однакові назви. Існує таке поняття, як повне ім'я файлів - це повна адреса до директорії файлу з вказівкою імені файлу, наприклад: D: \ docs \ file.txt. Важливо розуміти ці базові поняття, інакше складно буде працювати з файлами.

Для роботи з файлами необхідно підключити заголовний файл <fstream>. У <fstream> визначені кілька класів і підключені заголовні файли <ifstream> - файловий ввід і <ofstream> - файловий висновок.

Файловий ввід / вивід аналогічний стандартному вводу / виводу, єдина відмінність - це те, що введення / висновок виконані не на екран, а у файл. Якщо введення / виведення на стандартні пристрої виконується за допомогою об'єктів cin і cout, то для організації файлового введення / виведення досить створити власні об'єкти, які можна використовувати аналогічно операторам cin і cout.

Наприклад, необхідно створити текстовий файл і записати в нього рядок Робота з файлами в С + +. Для цього необхідно виконати наступні кроки:

створити об'єкт класу ofstream;

cвязана об'єкт класу з файлом, в який проводитиметься запис;

записати рядок у файл;

закрити файл.

Чому необхідно створювати об'єкт класу ofstream, а не класу ifstream? Тому, що потрібно зробити запис у файл, а якби потрібно було вважати дані з файлу, то створювався б об'єкт класу ifstream.