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

Синтаксис: int strcmpi(const char *s1, const char*s2)

Параметри:

- const char *s1 - вказівник на першу порівнювану стрічку.

- const char *s2 - вказівник на другу порівнювану стрічку

Функція аналогічна до strchr(), strcmp(), strcoll(), stricmp(), strncmp(), strnicmp() Приклад 6.5.:

/*strcmpi.cpp*/

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

main(int argc, char *argv[])

{

char *p;

if (argv <= 2)

{

puts(“Введіть дві стрічки, що порівнюються без урахування різниці між стрічковими і прописними літерами”);

puts(“Наприклад, STRCMPI стрічкаа стрічкаб”);

exit(1);

}

int result = strcmpi(argv[1], argv[2]);

if (result < 0)

p = ”менше”;

else if (result > 0)

p = “більше”;

else

p = “дорівнює”;

printf(“%s %s %s”, argv[1], p, argv[2]);

return 0;

}

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

Синтаксис: char *strcpy(char *dest,const char *src);

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

Параметри:

- char *dest - вказівник на стрічку результату, що перезаписується вихідною стрічкою. Результуюча стрічка не обов'язково повинна бути ініціалізованною.

- const char *src - вказівник на вихідну стрічку, що завершується нульовим символом.

Функція аналогічна до stpcpy(), strncpy()

Приклад 6.6.:

/*strcpy.cpp*/

#include<stdio.h>

#include<string.h>

main()

{

char src[80] = “abcdefghij”;

char dst[80] = “1234567890”;

puts(“Викликаємо strcpy(приймач, джерело)”);

strcpy(dst, src);

printf(“Gіckz^ l;thtkj==%s ghbqvfx==%s\n”? src? dst);

return 0;

}

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

Синтаксис: char *_strdate(cha *datestr);

Параметри:

- char *datestr - вказівник на результуючу стрічку довжиною принаймні 9 байтів.

Функція аналогічна до asctime(), ctime(), strtime(), time()

Приклад 6.7.:

/*_strdate.cpp*/

#include<stdio.h>

#include<time.h>

main()

{

char sdate[9];

_strdate(sdate);

printf(“: %s\n”, sdate);

return 0;}

Функція strerror() - створює зі стрічки s стрічку повідомлення про помилку, додаючи двокрапку, пробіл і опис поточної системної помилки (string.h чи stdio.h).

Синтаксис: char *_strerror(const char *s);

Параметри:

- const char *s - повідомлення користувача про помилку довжиною не більше 94 символів, до якого додається повідомлення про системну помилку. Якщо цей вказівник дорівнює нулю, _strerror() повертає вказівник на стрічку повідомлення про помилку із самим останнім кодом помилки.

Функція аналогічна до perror(), strerror()

Приклад 6.8.:

#include<stdio.h>

#include<string.h>

main()

{

char *p = _strerror(“Перевірочне повідомлення про помилку”);

printf(“Повідомлення про помилку == %s\n”, p);

p = _strerror(NULL);

printf(“Сама остання помилка == %s\n”, p);

return 0;

}

Функція strftime() - форматує дату і час у вигляді текстової стрічки, використовуючи систему правил перетворення, аналогічну системі printf(). Форматна стрічка fmt містить одне чи декілька правил, що заміняються компонентами дати і часу. Крім того, форматна стрічка може також містити й інші символи, що не відносяться до правил перетворення. Повертає число символів, записаних у результуючу стрічку(time.h). Правило перетворення складається зі знака відсотка (%) і символу.

Таблиця 6.2 - Правила перетворення для strftime()

Правила перетворення

Компоненти дати і часу

%

Вставити знак відсотка (%)

A

День тижня (абревіатура: Sun, Mon і т.д.)

A

Повна назва дня тижня

B

Місяць (абревіатура: Jan, Feb і т.д.)

B

Повна назва місяця

С

Дата і час у форматі asctime()

D

День місяця (від 01 до 31)

H

Час в 24-годинному форматі (від 00 до 23)

I

Час в 12-годинному форматі (від 00 до 12)

J

День року (від 001 до 366)

M

Номер місяця (від 1 до 12)

M

Хвилина (від 00 до 59)

P

Букви АМ чи РМ (що позначають час до чи після півдня відповідно)

S

Секунда (від 00 до 59)

U

Номер тижня (від 00 до 53) (тиждень починається із неділі)

w

День тижня (від 0 до 6) (неділя == 0)

W

Номер тижня (від 00 до 53) (тиждень починається з понеділка)

X

Дата

X

Час

Y

Рік мінус сторіччя (наприклад, 68 для 1968)

Y

Повний рік (наприклад, 1968)

Z

Найменування часової зони (EST чи EDT)

Синтаксис: size_t strftime(char *s, size_t maxsize, const char *fmt, const struct tm *t);

Параметри:

- char *s - вказівник на результуючу стрічку, в якій запам'ятовується результат функції.

- size_t maxsize - максимальне число символів, записуваних у результуючу стрічку. Звичайно встановлюється рівним розміру стрічки мінус одиниця.

- const char *fmt -вказівник на форматну стрічку, що містить звичайний текст і правила перетворення .

- const struct tm *t - вказівник на структуру типу tm, що містить дату і час, форматуємі у стрічку.

Функція аналогічна до asctime(), ctime(), localtime(), mktime(), time().

Приклад 6.9.:

#include<stdio.h>

#include<time.h>

#define SIZE 80

main()

{

time_t t;

struct tm *tp;

char s[SIZE];

time(&t);

tp = localtime(&t);

puts(“”);

strftime(s, SIZE, “Дата: %x\n”, tp);

puts(s);

strftime(s, SIZE, “Час: %x\n”, tp);

puts(s);

strftime(s, SIZE, “Сьогодні %A\n”, tp);

puts(s);

return 0;

}

Функція strncpy(), fstrncpy() - копіює максимум maxlen символів із вихідної стрічки src у результуючу стрічку dest, перезаписуючи символи результуючої стрічки. Якщо maxlen дорівнює розміру в байтах результуючій стрічці (і вихідна стрічка має не меншу довжину), то результуюча стрічка не завершується нульовим символом. Якщо maxlen і довжина вихідної стрічки перевищують розмір результуючої стрічки, кінець результуючої стрічки перезаписується, що, можливо, зруйнує інші дані чи код у цьому місці пам'яті. Щоб уникнути подібних помилок, ніколи не встановлюйте maxlen більше максимального числа символів, що може, містити результуюча стрічка(string.h)

Функція аналогічна до strcat(), strcpy()

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